[討論] 撰寫多執行緒程式

看板C_and_CPP (C/C++)作者 (好滋好滋)時間6年前 (2019/05/11 01:06), 6年前編輯推噓1(1016)
留言17則, 5人參與, 6年前最新討論串1/1
最近把c++11有關多執行緒的部分 大概看了一遍,想寫點東西練練手 把新學到的東西用一用增加熟練度。 但我發現,除了防止UI freeze 和增加運算效率之外,好像沒有 特別必須要用到multi thread的地方...? 而效能的部分,不會一開始就計畫 就使用多執行緒吧? 而是在測試階段發現效能 不足後嘗試使用多執行緒改善。 這樣我有點困惑,到底哪些地方是"一定" 用得到多執行緒呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.235.164 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1557508007.A.515.html

05/11 01:30, 6年前 , 1F
有些時候想引入多執行緒時才發現演算法一開始就用錯了
05/11 01:30, 1F

05/11 01:30, 6年前 , 2F
,根本無法拆分,只好整個砍掉重練,所以也是有一開始
05/11 01:30, 2F

05/11 01:30, 6年前 , 3F
就以多執行緒設計或至少採用有可能多執行緒化的方法。
05/11 01:30, 3F

05/11 01:34, 6年前 , 4F
#1IENu5lb 這篇來說,我用 Chudnovsky 法還有機會多
05/11 01:34, 4F

05/11 01:34, 6年前 , 5F
執行緒化 (但無法使用 N 個 CPU 核心就快 N 倍),如果
05/11 01:34, 5F

05/11 01:34, 6年前 , 6F
我用 Gauss-Legendre 法要怎麼改多執行緒?後一輪要使
05/11 01:34, 6F

05/11 01:35, 6年前 , 7F
用前一輪的計算結果的。
05/11 01:35, 7F

05/11 01:35, 6年前 , 8F
各計算間有依存性就無法切割分工、平行(同時)運算
05/11 01:35, 8F
Schottky大說的狀況有碰過 架構一開始設計有誤,雖然不算砍掉重練 但改的很醜難閱讀。 也就是說要保留對多緒的擴充是嗎?

05/11 03:37, 6年前 , 9F
你這問題其實還蠻.....微妙的
05/11 03:37, 9F

05/11 03:39, 6年前 , 10F
我也可以說除了搜尋以外二分搜尋這算法好像就沒用了吧?
05/11 03:39, 10F

05/11 03:41, 6年前 , 11F
難道大家都是先寫線性搜尋 發現效能不足再來寫二分嗎?
05/11 03:41, 11F
有點不太一樣... 我知道二分搜尋該在哪使用以及使用的情境, 也就是說它的套路我看的懂。 但多緒的使用情境,撇開內文的兩種狀況,我就不清楚 還有哪些地方可以使用了。以sarafciel大的舉例來說, 就是我不清楚二分搜尋該在何種情況使用,所以會先用線性搜尋 try一次,效能不足後才再用二分搜尋。 當然有經驗的人一看就知道這該用二分搜尋,但我不知道。

05/11 09:50, 6年前 , 12F
非同步、平行運算 沒了
05/11 09:50, 12F
※ 編輯: ko27tye (59.115.235.164), 05/11/2019 11:12:56

05/11 11:38, 6年前 , 13F
主要是去思考單緒/多緒各自能做/不能做什麼, 那適用
05/11 11:38, 13F

05/11 11:38, 6年前 , 14F
的情境就比較明朗了, 有時候是以好不好設計, 或是對
05/11 11:38, 14F

05/11 11:38, 6年前 , 15F
執行時機有要求而做的選擇. 譬如你想想兩個元件做 ha
05/11 11:38, 15F

05/11 11:38, 6年前 , 16F
ndshaking 用單緒/多緒該怎麼實現?
05/11 11:38, 16F

05/14 09:53, 6年前 , 17F
可以考慮一下 Server 應對多個 client 時的問題
05/14 09:53, 17F
文章代碼(AID): #1SrQ-dKL (C_and_CPP)
文章代碼(AID): #1SrQ-dKL (C_and_CPP)