菜鸟发问!巨简单!(在线结帖!) 问高手一个问题,就是比如进程需要完成某个很繁的运算,它就创建一个CalculateThread线程并使其处于执行态,但是如果此时进程又需要成某个很繁的运算,它肯定也要CalculateThread线程的帮忙,但是此时线程CalculateThread正在执行啊!!怎么办啊!(我依然还是一个菜鸟!)谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然要切换了!in thinking... “肯定也要CalculateThread线程的帮忙”什么意思?如果要calculatethread的某个运算结果,那么就用互斥量。waitf系列的函数就可以了,在calculatethread中设置一个互斥量,让第二个线程等就是了。直到计算结果出来再运行。如果你的两个线程对对方都依赖的话,就各自建立一个互斥量。但小心死锁。要不再起个现成就可以了。 用事件的方法使函数同步, a = CreateEvent() WaitForSingleObject(a, INFINITE); 加在要同步的函数前 ReleaseEvent(a) 就重新开始一个线程,如果还是用CalculateThread线程的线程函数,那么这是可行的, 系统无论你何时调用CreateThread函数都会创建一个新线程,尽管你相同的线程函数正在另一个线程里运行. 当然你要注意做好线程同步的工作具体的请与我联系 QQ 43735466 或在csdn里与我发消息 了解SPEEX的来指点下小弟吧 散分三 还差1817分升星星 关于CString [] 怎么实现两个列表框中,把一个列表框中的东西选到另一个里面? 请教:频繁做open()会使数据库崩溃吗? 在对话框上能对它msflexgrid上面的报表进行打印吗? 报表制作 带有全透像素点的透明图层混合, 算法公式如何实现? C++编译问题(CXImage) 怎样根据一个ip得到它的物理地址呢? activex控件中runtime license是干什么用的? 不好意思!忘记谁要GRID的代码了!发到这里了!
in thinking...
如果你的两个线程对对方都依赖的话,就各自建立一个互斥量。但小心死锁。要不再起个现成就可以了。
a = CreateEvent()
WaitForSingleObject(a, INFINITE); 加在要同步的函数前
ReleaseEvent(a)
系统无论你何时调用CreateThread函数都会创建一个新线程,尽管你相同的线程函数正在另一个线
程里运行. 当然你要注意做好线程同步的工作具体的请与我联系 QQ 43735466 或在csdn里与我发消息