MFC下多线程的API
createthread()
创建新线程,返回句柄closehandle()
关闭句柄,减少线程内核对象的引用计数,当线程运行结束且引用计数为0 ,系统释放内核对象。waitforsingleobject()
等待线程结束
互斥锁:
createmutex()
创建互斥对象,返回句柄,第二个参数指定互斥对象是否为当前线程拥有waitforsingleobject()
等待上锁releasemutex()
解锁
对互斥对象,谁拥有谁释放,系统会对比当前释放操作线程ID与拥有互斥对象的线程ID是否为同一个。
如果线程完成了其代码,但是释放其拥有的互斥对象,则操作系统会将结束的线程拥有的互斥对象的线程ID和计数均置为0;
保证应用程序只有一个实例:通过命名互斥对象实现
事件对象:
CreateEvent()
创建事件对象waitforsingleobject()
等待事件通知setevent()
事件通知resetevet()
设置事件对象无信号状态