[讨论] 撰写多执行绪程式

楼主: ko27tye (好滋好滋)   2019-05-11 01:06:45
最近把c++11有关多执行绪的部分
大概看了一遍,想写点东西练练手
把新学到的东西用一用增加熟练度。
但我发现,除了防止UI freeze
和增加运算效率之外,好像没有
特别必须要用到multi thread的地方...?
而效能的部分,不会一开始就计画
就使用多执行绪吧? 而是在测试阶段发现效能
不足后尝试使用多执行绪改善。
这样我有点困惑,到底哪些地方是"一定"
用得到多执行绪呢?
作者: Schottky (顺风相送)   2019-05-11 01:30:00
有些时候想引入多执行绪时才发现算法一开始就用错了,根本无法拆分,只好整个砍掉重练,所以也是有一开始就以多执行绪设计或至少采用有可能多执行绪化的方法。以 #1IENu5lb 这篇来说,我用 Chudnovsky 法还有机会多执行绪化 (但无法使用 N 个 CPU 核心就快 N 倍),如果我用 Gauss-Legendre 法要怎么改多执行绪?后一轮要使用前一轮的计算结果的。各计算间有依存性就无法切割分工、平行(同时)运算
作者: sarafciel (Cattuz)   2019-05-11 03:37:00
你这问题其实还蛮.....微妙的我也可以说除了搜寻以外二分搜寻这算法好像就没用了吧?难道大家都是先写线性搜寻 发现效能不足再来写二分吗?
作者: Jockey66666 (往事已成追忆)   2019-05-11 09:50:00
异步、平行运算 没了
作者: loveme00835 (发箍)   2019-05-11 11:38:00
主要是去思考单绪/多绪各自能做/不能做什么, 那适用的情境就比较明朗了, 有时候是以好不好设计, 或是对执行时机有要求而做的选择. 譬如你想想两个元件做 handshaking 用单绪/多绪该怎么实现?
作者: hichcock (快乐一整年 ^^~~~)   2019-05-14 09:53:00
可以考虑一下 Server 应对多个 client 时的问题

Links booklink

Contact Us: admin [ a t ] ucptt.com