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

多线程同步有关问题

2012-03-14 
多线程同步问题我最初看VC多线程编程时,书中只谈到临界区,互斥量,事件。在《C++面向对象多线程编程》中又出现

多线程同步问题
我最初看VC多线程编程时,书中只谈到临界区,互斥量,事件。在《C++面向对象多线程编程》中又出现管道。
 现在对互斥量,事件的同步能较好的理解,但对临界区同步不是很清楚,不知有谁能提供一些例程?
 对于管道在线程同步中的作用,如何实现不是很清楚,希望有高手给指点一下?
 我是初学者,在目前所看的书中对管道和临界区这部分内容讲的不是很多。
 还望大家给提供一些相关多线程的编程资料。谢谢!

[解决办法]
臨界區其實是一個概念,多綫程裏面綫程同步的方法很多。臨界區,信號量,互斥,事件,管道。它們都有者不同的優點和缺點,但是使用它們,都是爲了使我們多個綫程共同維護的數據保證正常。這個纔是重點。臨界區呢,不是内核資源,輕量級的同步辦法。使用就很簡單了薩,建立一個臨界區變量,然後Init enter leave delete。。。
管道呢,是IPC的重要方式。有2种,一種是命名管道。一種是匿名管道。它的特點是跨進程,甚至跨機器,但是它是單向的。關於多進程,看看候捷的<win32多綫程程序設計>,必有所得。。。
[解决办法]

C/C++ code
InitializeCriticalSection()        EnterCriticalSection()            LeaveCriticalSection()                DeleteCriticalSection() 

热点排行