多线程编程之Linux环境下的多线程(三)——好文


http://www.cnblogs.com/kuliuheng/p/4063892.html


 前面两篇文章都讲述了Linux环境下的多线程编程基础知识,也附带了典型实例。本文主要比较一下Linux环境与Windows环境下的多线程编程区别。

  看待技术问题要瞄准其本质,不管是WIN32、Linux还是VxWorks,其涉及到多线程的部分都是那些内容,无非就是线程控制和线程通信,它们的许多函数只是名称不同,其实质含义是等价的,下面我们来列个三大操作系统共同点详细表单: 

事项 WIN32 Linux VxWorks
线程创建CreateThreadpthread_createtaskSpawn
线程终止

执行完成后退出;

线程自身调用ExitThread函数即终止自己;

被其他线程调用函数TerminateThread函数

执行完成后退出;

由线程本身调用pthread_exit 退出;

被其他线程调用函数pthread_cance终止

执行完成后退出;

由线程本身调用exit退出;

被其他线程调用函数taskDelete终止

获取线程IDGetCurrentThreadIdpthread_selftaskIdSelf
创建互斥CreateMutexpthread_mutex_initsemMCreate
获取互斥WaitForSingleObject、WaitForMultipleObjectspthread_mutex_locksemTake
释放互斥ReleaseMutexphtread_mutex_unlocksemGive
创建信号量CreateSemaphoresem_initsemBCreate、semCCreate
等待信号量WaitForSingleObjectsem_waitsemTake
释放信号量ReleaseSemaphoresem_postsemGive
分类:  多线程编程
标签:  Linux多线程编程
0
0
« 上一篇: 多线程编程之Linux环境下的多线程(二)
» 下一篇: 多线程编程之原子锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值