[2013.8.29]对于多线程编程的几点个人见解
(部分来源于《深入理解计算机系统》一书)
1.线程有两种状态:聚合态和分离态。聚合态线程拥有一个句柄可被控制,分离态线程虽然可以正常运行,但不可以通过句柄控制。
2.线程刚刚创建出来是聚合态的,在运行中关闭句柄可以转化为分离态,且不可逆。
3.分离态线程在执行完退出后自动回收资源。聚合态必须显式调用关闭句柄来回收资源(特别是线程外调用了终止线程来终止的情况)。
4.线程内自己退出优于线程外强制终止线程。
5.不建议使用挂起和恢复操作。
然后就是这个两大API平台库的对比
表面上windows不支持posix接口 但是他的接口跟posix也差不多
Posix / Win32API
pthread_create / CreateThread
pthread_cancel / TerminateThread
pthread_join / WaitForSingleObject
pthread_exit / ExitThread
pthread_detach / CloseHandle