windows和linux下多執行緒的一些區別

2021-08-24 22:01:03 字數 685 閱讀 3619

[size=medium]

我認為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將來能在多執行緒方面繼續改進。

[/size]

metasploit下Windows下多種提權方式

前言 當你在愛害者的機器上執行一些操作時,發現有一些操作被拒絕執行,為了獲得受害機器的完全許可權,你需要繞過限制,獲取本來沒有的一些許可權,這些許可權可以用來刪除檔案,檢視私有資訊,或者安裝特殊程式,比如病毒。metasploit有很多種後滲透方法,可以用於對目標機器的許可權繞過,最終獲取到系統許可...

Windows和Linux下socket的區別

1.標頭檔案 windows下winsock.h或winsock2.h linux下netinet in.h 大部分都在這兒 unistd.h close函式在這兒 sys socket.h 在in.h裡已經包含了,可以省了 2.初始化 windows下需要用wsastartup啟動ws2 32.l...

windows和linux下socket程式設計的不同

windows windows 標頭檔案的區別 include include windows 初始化的區別 windows 宣告socket socket型別 windows socket關閉 closesocket windows socket操作錯誤返回值 socket error windo...