1、进程相关
进程创建:linux下用fork和exec*相关函数,win32用CreateProcess;
进程消灭:posix下用exit或者使用信号杀死进程(不建议使用),win32下用ExitProcess 或TerminateProcess(不建议使用)
进程同步:posix下用wait或者waitpid,win32下用WaitForSingleObject或者WaitForMultipleObject;
2、线程相关
线程创建:linux下用pthread_create,win32下用CreateThread;
线程退出:linux下用pthread_exit或者pthread_cancel(不建议使用),win32下用ExitThread或者TerminateThread(不建议使用)
线程同步:linux下用pthread_join,win32下用WaitForSingleObject或者WaitForMultipleObject;
线程调度:linux下用pthread_getschedparam和pthread_setschedparam,win32下用GetThreadPriority和SetThreadPriority
线程本地存储:linux下用pthread_key_create、pthread_setspecific、pthread_getspecific,win32下TlsAlloc、TlsSetValue、TlsGetValue
3、线程同步
线程同步技术主要是:互斥、读写锁、信号量、条件变量;
互斥分可重入和不可重入两种类型,linux相关函数是pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_destroy;win32下相关函数是InitializeCriticalSection、EnterCriticalSection、LeaveCriticalSection、DeleteCriticalSection;
读写锁:多个进程或线程可以共享一个读锁,而写锁一般是互斥的,不能共享;
信号量