首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

什么时候该用线程同步,什么时候异步?解决方案

2012-04-27 
什么时候该用线程同步,什么时候异步?一直搞不懂,最初接触同步,异步的概念,是来自windows编程中。同步:SendM

什么时候该用线程同步,什么时候异步?
一直搞不懂,


最初接触同步,异步的概念,是来自windows编程中。

同步:SendMessage,没有发完,那么就不返回。

异步:PostMessage,没有发送完,立即返回。接着做其他事情。


但是到线程里卖弄,就很难理解了



[解决办法]
具体哪里不懂呢?
我觉得在任何上下文中,区别无非发起一个操作之后,是什么也不干,直接等待它结束,还是先做别的事,待会儿再查询结果。
[解决办法]
所谓互斥是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 
更新火车票总数是一个临界区,那么线程在访问时就必须加锁进行互斥访问。否则要是多个线程同时对火车票总数进行更新,就可能会导致不正确的结果。
也就是一个线程在更新火车票总数时,其他线程必须等待,互斥是一种特殊的同步。

所谓同步指相互合作去完成相同的任务的线程间,由同步机构对执行次序进行协调。比如A线程依赖于B线程的结果,则在B线程还未执行完毕时,A线程需要等待,直到B产生结果才继续执行。同步可以看作是比较复杂的互斥。
[解决办法]
阻塞。。。
[解决办法]
楼主可以看看基本的PV原语操作。熟悉经典的生产者-消费者模型,读者-写者模型。应该就能理解火车票系统的原理。
[解决办法]

探讨
阻塞。。。

热点排行