[讨论贴]线程那些事

快乐鹦鹉 2013-07-23 01:11:12
板块目前比较沉寂,置顶贴比较少。
不如来个专题讨论吧,每隔一段时间来一个,最好不要太专业的,否则每人参与了。
先探探路,大家聊聊线程吧。比如对线程知识的理解,线程开发的经验,碰到过哪些问题,最终怎么解决的,线程开发的小技巧等等。
也可以将一些有益的链接贴上来,让大家可以参考。以后帖子就作为新人的必读帖。
对优秀的回复,可以奖励一些可用分,初步定在100分吧。如果需要,再申请一些CSDN的礼品,感谢大家的参与和奉献。
...全文
13519 128 打赏 收藏 举报
写回复
128 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
新手来学习了
  • 打赏
  • 举报
回复
asdjy123 2014-03-31
引用 126 楼 foxriver_gjg1989 的回复:
[quote=引用 4 楼 asdjy123 的回复:] 在使用While()的条件来结束线程发现不能立即结束,不知各位有什么好方法 如:
//开辟一条线程进行发送报文
void Great()
{
  CWinThread* pThread; 
  pThread=AfxBeginThread(SendThreadFun,(void *)this,0,0,0,NULL);
  if(pThread==NULL)
  {
    AfxMessageBox("创建发送线程失败");
    m_bSend=FALSE;
     return;
  }
 m_bSend=TRUE;
}

static UINT SendThreadFun(LPVOID pParam)
{
	While(m_bSend==TRUE)
       {
       .......
       .......

        }

}

//结束线程
void Close()
{
  m_bSend==FALSE;
 }
为什么我感觉这种形式怪怪的呢?为什么不直接 while (!m_bSend) 或者 while (m_bSend)[/quote] 两者效果一样吧,可能习惯问题吧
  • 打赏
  • 举报
回复
yyps 2014-03-28
引用 4 楼 asdjy123 的回复:
在使用While()的条件来结束线程发现不能立即结束,不知各位有什么好方法 如:
//开辟一条线程进行发送报文
void Great()
{
  CWinThread* pThread; 
  pThread=AfxBeginThread(SendThreadFun,(void *)this,0,0,0,NULL);
  if(pThread==NULL)
  {
    AfxMessageBox("创建发送线程失败");
    m_bSend=FALSE;
     return;
  }
 m_bSend=TRUE;
}

static UINT SendThreadFun(LPVOID pParam)
{
	While(m_bSend==TRUE)
       {
       .......
       .......

        }

}

//结束线程
void Close()
{
  m_bSend==FALSE;
 }
为什么我感觉这种形式怪怪的呢?为什么不直接 while (!m_bSend) 或者 while (m_bSend)
  • 打赏
  • 举报
回复
Niclezhang 2014-03-24
typedef struct _STRUCT_TEXT 
{
	int nPanoName;
	BYTE* pBuf;		
	Cpano panoInfo;	// 一个类对象

	_STRUCT_TEXT()
	{
		nPanoName = -1;
		pBuf = NULL;
	}

	~_STRUCT_TEXT()
	{
		if (pBuf)
		{
			delete []pBuf;
			pBuf = NULL;
		}
	}
}STRUCT_TEXT;


STRUCT_TEXT g_ValueText;		//定义一个全局变量

// 线程函数,具体代码略去300行
void thread1()
{
	//在线程函数中会对全局变量进行赋值。问题就出在这里,
	//没跟全局变量赋值一次,程序就会有近100k的内存泄露,屏蔽赋值就没有内存泄露
}
高人指点一下哈
  • 打赏
  • 举报
回复
gomez44944 2014-03-18
顶!!!
  • 打赏
  • 举报
回复
ojc520520 2014-03-17
路过.............
  • 打赏
  • 举报
回复
wukonggaoxing 2014-02-28
引用 105 楼 MoreWindows 的回复:
推荐下秒杀多线程面试题系列,这个系列有15篇文章,有助于大家系统的提供学习多线程。 http://blog.csdn.net/column/details/killthreadseries.html 秒杀多线程面试题系列介绍: 该系列是我参加微软亚洲研究院,腾讯研究院,迅雷面试时所整理的。系列先示范如何使用多线程,再详细分析多线程的重点难点必考点——多线程同步互斥问题。各文章讲解生动细致,针对性强。必定也能助你在面试中秒杀所有多线程面试题。
  • 打赏
  • 举报
回复
wukonggaoxing 2014-02-28
引用 120 楼 huiyuanzaixian 的回复:
引用 19 楼 wxf041041 的回复:
希望能看看某个大虾自己封装的线程池代码,不要网上的那些,不要Windows自带的··一直对这个挺感兴趣!
这个可以有,呵呵
同求
  • 打赏
  • 举报
回复
wukonggaoxing 2014-02-28
引用 19 楼 wxf041041 的回复:
希望能看看某个大虾自己封装的线程池代码,不要网上的那些,不要Windows自带的··一直对这个挺感兴趣!
这个可以有,呵呵
  • 打赏
  • 举报
回复
youhao1999 2014-02-25
路过帮顶。。。
  • 打赏
  • 举报
回复
郑沐洋 2014-02-25
求一个有注释 条理清晰 的 多线程实例!!! 我在做一个资源管理器,每次想这个管理器的盘符拖动大的文件是,界面就不动了,跟“死机”一样,如果现在有其他操作,她就真的死了,只有等个几十秒,他自己传完就好了,我想这该是 我没有使用多线程的缘故,所以请大家帮帮忙,给我一个好的多线程例子!!!不胜感激!谢谢!!!
  • 打赏
  • 举报
回复
郑沐洋 2014-02-25
  • 打赏
  • 举报
回复
wanglx2012 2014-02-24
引用 楼主 happyparrot 的回复:
板块目前比较沉寂,置顶贴比较少。 不如来个专题讨论吧,每隔一段时间来一个,最好不要太专业的,否则每人参与了。 先探探路,大家聊聊线程吧。比如对线程知识的理解,线程开发的经验,碰到过哪些问题,最终怎么解决的,线程开发的小技巧等等。 也可以将一些有益的链接贴上来,让大家可以参考。以后帖子就作为新人的必读帖。 对优秀的回复,可以奖励一些可用分,初步定在100分吧。如果需要,再申请一些CSDN的礼品,感谢大家的参与和奉献。
建议大家做个关于多线程操作数据库的讨论吧,这个方便的资料太少,现在普遍的都是进行加锁,难道没有其他办法?http://bbs.csdn.net/topics/390714634?page=1#post-396806101
  • 打赏
  • 举报
回复
wanglx2012 2014-02-24
建议大家做个关于多线程操作数据库的讨论吧,这个方便的资料太少,现在普遍的都是进行加锁,难道没有其他办法?http://bbs.csdn.net/topics/390714634?page=1#post-396806101
  • 打赏
  • 举报
回复
u0116snail 2014-01-21
做个沙发 学习……
  • 打赏
  • 举报
回复
呀, 都是牛人. 呀, 牛人都是. 呀, 我来挣下载分来啦. 呀, 我走啦.
  • 打赏
  • 举报
回复
wanglovec 2014-01-07
如果不使用异步, 可以用一个线程等待I/O 完成 这样就把I/O 和其它处理分开
  • 打赏
  • 举报
回复
wanglovec 2014-01-07
为什么要使用多线程, 多少个合适? 我觉得这是重点。
  • 打赏
  • 举报
回复
nintendopsp1 2014-01-03
好好查一下肯定是在主线程中调用了一个很耗时的函数,网络访问等,调试环境下全部中断,选择主线程看看停留在哪一句上面
  • 打赏
  • 举报
回复
加载更多回复
相关推荐
发帖
VC/MFC
加入

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
申请成为版主
帖子事件
创建了帖子
2013-07-23 01:11
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……