windows和linux下多線程的一些區別

來源:互聯網
上載者:User

我認為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:以上並非官方資料,純屬個人研究。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.