多线程
文章平均质量分 77
游刃有余则成
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++线程的创建
CreateThread 当使用CreateProcess调用时,系统将创建一个进程和一个主线程。CreateThread将在主线程的基础上创建一个新线程,大致做如下步骤: 1在内核对象中分配一个线程标识/句柄,可供管理,由CreateThread返回 2把线程退出码置为STILL_ACTIVE,把线程挂起计数置1 3分配context结构转载 2012-10-31 10:15:56 · 41949 阅读 · 2 评论 -
基于互斥对象的线程同步
找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥体。CreateMutex()函数可用来创建一个有名或无名的互斥量对象,其函数原型为:HANDLE CreateMutex( LPSECURITY_ATTRIBUTESlpMutexAttributes, // 指向安全属性的指针 BOOLbInitialOwner, // 初始化互斥对象的所有者转载 2012-10-31 10:28:03 · 863 阅读 · 0 评论 -
基于事件的线程同步
CreateEvent 创建或打开一个命名的或无名的事件对象。 函数原型 HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes,// 安全属性 BOOL bManualReset,// 复位方式 BOOL bInitialState,// 初始状态 LPC转载 2012-10-31 10:31:09 · 926 阅读 · 0 评论 -
基于信号量的线程同步
信号量(Semaphore)和互斥量一样,属于内核对象。它自动执行可用资源查询的测试,如果有可用资源,则可用资源的计数减少,从而避免其它线程请求资源。当该线程释放该资源后,可用资源计数增加,则操作系统允许另一个线程请求资源。 信号量与临界区和互斥量的不同在于,它不能被认为属于某个线程。也就是说,一个线程可以等待信号量对象(减少它的资源计数),而另一个线程释放该对象(增加它的资转载 2012-10-31 11:09:55 · 587 阅读 · 0 评论 -
基于临界区的线程同步
Windows操作系统提供了设定“特殊事件”的方法,就是使用同步对象。我将在今后学习常用的四种同步对象:临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)。 上述四种同步对象,除了临界区外都是内核对象。临界区不被操作系统的低级部件管理,而且不能使用句柄来操纵,是最易于使用和理解的同步对象。临界区工作在用户方式下,速度转载 2012-10-31 10:53:28 · 814 阅读 · 0 评论 -
WaitForSingleObject等待核心对象激活
#include #include "windows.h" using namespace std; int j=0; DWORD WINAPI MyThreadOne(LPVOID lp) { int *i = (int*)lp; *i = *i + 1; //int j=0; while (j<20) { cout<<++j<<endl; Sleep(500); } /转载 2014-07-09 15:14:42 · 652 阅读 · 0 评论
分享