对象 | 操作 | 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() | —— |