您当前的位置: 首页 >  windows

phymat.nico

暂无认证

  • 4浏览

    0关注

    1967博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Windows线程同步API

phymat.nico 发布时间:2018-01-22 00:16:17 ,浏览量:4

本文主要总结创建、结束线程和WIN32 API提供的一些线程同步方法。同步方法包括用户态同步方式:InterLock、CriticalSection、SRWLock和内核态同步方式:Event、Semaphore、Mutex等。本文通过简单的例子演示API的使用,没有包含原理的说明,假定读者具有其他语言或者平台的并发编程经验。

创建、结束线程

WIN32 API虽然提供了CreateThead和ExitThread方法,但是在C++中,永远不应该使用这两个方法创建或结束线程。而应该使用VC++提供的_beginthread、_beginthreadex方法,相应的结束线程方法_endthread、_endthreadex。后者除了在内部调用CreateThread或ExitThread方法外,还负责CRT的初始化或销毁。虽然有直接结束线程的方法,但在C++最好通过线程方法正常返回来结束线程。直接结束线程时C++对象的析构函数不会被调用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "stdafx.h"
  
using namespace std;
  
class Obj
{
public :
     Obj() { cout
关注
打赏
1659628745
查看更多评论
0.2495s