Linux与Windows API对比

对象

操作

Linux API

Windows API

线程

创建

pthread_create()

CreateThread()

退出

pthread_exit()

ThreadExit()

等待

pthread_join()

WaitForSingleObject()

互斥锁

创建

pthread_mutex_init()

CreateMutex()

销毁

pthread_mutex_destroy()

CloseHandle()

加锁

pthread_mutex_lock()

WaitForSingleObject()

解锁

pthread_mutex_unlock()

ReleaseMutex()

事件

创建

pthread_cond_init()

CreateEvent()

锁毁

pthread_cond_destroy()

CloseHandle()

触发

pthread_cond_signal()

SetEvent()

广播

pthread_cond_broadcast()

SetEvent()  /  ResetEvent()

等待

pthread_cond_wait()  /

pthread_cond_timewait()

SingleObjectAndWait()

信号量

创建

sem_init()

CreateSemaphore()

获取(P)

sem_wait()

WaitForSingleObject()

释放(V)

sem_post()

ReleaseSemaphore()

销毁

sem_destroy()

CloseHandle()

临界区

创建

——

InitializeCriticalSection()

加锁

——

EnterCriticalSection()

解锁

——

LeaveCriticalSection()

销毁

——

DeleteCriticalSection()

消息队列

创建

msgget()

——

发送

msgsnd()

——

接收

msgrcv()

——

销毁

msgctl()

——

参考:

http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/index.html

Linux程序设计[第四版]  人民邮电出版社

上一篇:C++中string类的使用方法


下一篇:[Erlang37]error/1 exit/1 exit/2 throw/1的区别