1樓:有人在唱歌
Any kind of sequential program is not a good candidate to be threaded. An example of this is a program that calculates an individual tax return.
Another example is a 「shell」 program such as the C-shell or Korn shell. Such a program must closely monitor its own working space such as open files, environment variables, and current working directory.
2樓:yq yuan
並不是執行緒越多效能越好,當執行緒超過一定數量的時候,執行緒的排程將會變成很大的開銷,反而會讓效能降低,所以要適當使用多執行緒,不能濫用。二者不是線性關係。
3樓:
單執行緒add(a,b,c,d)
多執行緒add(a,b,c,d)
就是這個套路,不要在意細節
第乙個做了三次加法,第二個建立了兩個執行緒,做了兩次加法。
4樓:薛丁格的貓
例子一:
單核單處理器,開乙個執行緒跑迴圈輸出10萬條列印資訊,開100個執行緒輸出10萬條列印資訊.
後者比前者慢,因為輸出端是臨界資源,執行緒搶占的時間大,單執行緒則無需搶占
例子二:
網路伺服器處理,每個請求開乙個執行緒,請求的處理時間極短,迅速返回,一次提交10萬個請求,則有10萬次執行緒建立和銷毀
對應於乙個工作執行緒處理這10萬條請求
後者比前者肯定快
多核,單核,多執行緒,單執行緒搞不明白?
乙個核對應乙個工人的話,乙個執行緒對應於乙個日程表單核單執行緒,相當於乙個工人乙個日程表,第一步買水泥,第二步搬磚,第三部砌牆。結果下了單水泥要明天到,今天就只能等著幹不了活了。如果有兩張日程表,第一張買水泥,第二張搬磚和砌牆,那麼你可以下單買水泥,水泥要等,就放下第一張日程表,拿起第二張,開始搬磚...
redis 為什麼是單執行緒的?
詩和遠方 說Redis是單執行緒是不準確的,其實是多程序,多執行緒的,但如果說其I O模型是單執行緒那就是對的。接下來我們說說為什麼I O模型要單執行緒。我們用快取的目的無非就是做併發控制,快取資料,對效能都有一定的要求 注意這裡是指吞吐量和響應時間 最原始的方式就是單程序阻塞式I O,這樣我們一次...
效能問題 多執行緒問題
Tony 你的問題很大,很難給與準確的回答。對於問題1 如果檢測到乙個系統指標滿負荷,有很大可能性是你的程式的througput的瓶頸,但也不一定100 是這樣。你只能嘗試找一些方法,降低這個指標,如果發現throughput有大幅度提高,你才能斷定這是瓶頸。舉個不恰當的例子 如果你的程式死鎖了,就...