admin管理员组文章数量:1794759
windows和linux下多线程的一些区别
我认为linux的多线程不如windows。理由如下: 一、功能 WaitForSingleObject在linux下可以用pthread_cond_wait来替代实现,但是pthread_cond_wait不能用来等待thread handle。要等待thread handle可以用pthread_join,但是没有超时。 linux下没有WaitForMultipleObjects,也没有替代的实现方法。如果一个程序准备跨平台,那么在windows上实现的时候最好不要使用WaitForMultipleObjects。可以用WaitForSingleObject加上一些bool类型的flags来替代。 二、性能 IBM有个家伙做了个测试,发现切换线程context的时候,windows比linux快一倍多。进出最快的锁(windows2k的critical section和linux的pthread_mutex),windows比linux的要快五倍左右。当然这并不是说linux不好,而且在经过实际编程之后,综合来看我觉得linux更适合做high performance server,不过在多线程这个具体的领域内,linux还是稍逊windows一点。这应该是情有可原的,毕竟unix家族都是从多进程过来的,而windows从头就是多线程的。不过我还是希望linux将来能在多线程方面继续改进。 PS:以上并非官方资料,纯属个人研究。
版权声明:本文标题:windows和linux下多线程的一些区别 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686868987a112612.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论