我认为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:以上并非官方资料,纯属个人研究。
分享到:
相关推荐
Thread Windows和Linux下多线程编程
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别,不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多...
打日志用的,经过了windows和linux下的测试,支持多线程,附上了实例,此实例在windows下运行只要加到win32控制台程序里就行了,记得去掉预编译头,在linux下测试,只要make 就行了,makefile已经在压缩包里了
支持Windows和Linux的PC多线程支持模块,用于实现线程的方便创建和线程管理的模块化
本文我们将介绍在Linux 下编写多进程和多线程程序的一些初步知识。 1 引言 对于没有接触过 Unix/Linux 操作系统的人来说,fork 是最难理解的概念之一:它执行 一次却返回两个值。fork 函数是Unix 系统最杰出的成就之...
1)Linux 下C实现的多线程架构,已经实际应用的很多项目,小弟刚刚完成由WIndows到Linux的移植(唉,以前一点都没学过) 2)支持多线程用户访问,多线程日志,支持ODBC方式的数据库访问(db2只举了一个查询的例子) ...
支持bt,torrent,但需要变相调用。另外,多线程不限制线程数,表示很嗨皮~!优点:绝对稳定性,高速不上传。命令行界面,支持批量下载,断点续传。
(1)实现多线程字符输出,存在三个线程,线程1用来监听用户输入和其他两个线程的监听器,线程2的主要内容为每隔一段时间,输出“hello 2”字符串,线程3的主要内容为每隔一段时间,输出“hello 3”字符串。...
浅谈linux多线程编程和windows多线程编程的异同.doc
linux多线程编程入门 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个...
FileSplitter4Linux_多线程文件分割合并器.7z =========================================== 多线程文件分割、合并器 v2.0.1 for Windows / Linux
封装了锁、事件和信号量用于多线程同步,可以在Windows和Linux上使用,具体参见源码。
Linux网络编程(四)——多线程实现简单的聊天(linux 服务器端 windows客户端)
多线程开发在 Linux 平台上已经有成熟的 Pthread 库支持。其涉及的多线程开发的最基本...为了方便熟悉 Windows 线程编程的读者熟悉 Linux 多线程开发的 API,我们在表中同时也列出 Windows SDK 库中所对应的 API 名称。
LinuxWindows平台C++多线程及定时器毕业论文.docx
Windows 及 Linux 环境下的 C 语言多线程编程总结 ...本文总结了 Windows 及 Linux 环境下的 C 语言多线程编程的相关知识点,包括 `_beginthread()` 函数的使用、参数的意义、线程的同步问题和互斥问题。
《Linux多线程服务端编程:使用muduo C++网络库》这本书自今年一月上市以来,半年之内已经重印两次(加上首印,一共是三次印刷),总印数达到了9000册,这在技术书里已经算是相当不错的成绩。 作者说:以下谈一谈这...