当前位置: 代码迷 >> 多核软件开发 >> 多线程同步有关问题
  详细解决方案

多线程同步有关问题

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

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