不想讓pthread join阻塞你的程序

2021-09-27 10:41:03 字數 473 閱讀 2373

建立乙個執行緒預設的狀態是joinable, 如果乙個執行緒結束執行但沒有被join,則它的狀態類似於程序中的zombie process,即還有一部分資源沒有被**(退出狀態碼),所以建立執行緒者應該pthread_join來等待執行緒執行結束,並可得到執行緒的退出**,**其資源(類似於wait,waitpid)

但是呼叫pthread_join(pthread_id)後,如果該執行緒沒有執行結束,呼叫者會被阻塞,在有些情況下我們並不希望如此,比如在web伺服器中當主線程為每個新來的鏈結建立乙個子執行緒進行處理的時候,主線程並不希望因為呼叫pthread_join而阻塞(因為還要繼續處理之後到來的鏈結),這時可以在子執行緒中加入**

pthread_detach(pthread_self())

或者父執行緒呼叫

pthread_detach(thread_id)(非阻塞,可立即返回)

這將該子執行緒的狀態設定為detached,則該執行緒執行結束後會自動釋放所有資源。

不想讓別人使用電腦某個軟體的小技巧

只要在其安裝目錄下新建乙個檔名為ws2 32.dll的檔案,這樣系統就會以檔案出錯誤而禁止執行 可以新建乙個內容為空的文字檔案,然後改名為ws2 32.dll 本方法適用基於nt系統的winxp,win2000,win2003 比較險惡 用的時候再刪除該檔案就是。想在自己電腦上禁止朋友玩遊戲,又不能...

您的雲提供商不想讓您知道什麼

雲架構的實踐方式有所不同,具體取決於您與誰一起工作或與誰一起工作。鑑於雲架構師的工作範圍涵蓋計畫,設計,技術選擇,技術整合和部署計畫,因此通常會以某種方式忽略整個雲架構本身。缺乏雲體系結構規範會導致效率低下的體系結構,這會花費您的錢,但卻會為公共雲提供商賺錢。這裡要牢記一些秘密。他們是如此之多,以至...

您的雲提供商不想讓您知道的更多秘密

在上一篇文章中,我談到了降低成本的方法,可以降低您的雲計算費用,並更好地利用現有的資料庫許可證。每個技巧都會為您省錢,並減少您的雲提供商的負擔。這裡是接下來要考慮的兩個 秘密 我假設您已經閱讀了前兩個。在infoworld中了解有關雲的所有資訊。從基礎開始 什麼是雲計算?您現在需要知道的一切 然後學...