作者ggg12345 (ggg)
看板Programming
标题Re: 不相干的程式做multi-thread有帮助吗?
时间Sun Nov 9 10:06:55 2008
※ 引述《CharArray ( char[] )》之铭言:
: 标题: [问题] 完全不相甘的程式做multi-thread有帮助吗?
: 比方说有三个完全不相同的程式,本来是分3个process执行,
: 改用multi-thread的方式实现,对performance或memory usage有帮助吗?
: thread虽然有resource sharin的优点,但遇完全不同的程式,这优点是否还存在?
: --
: → MOONRAKER:应该不是什麽东西混起来都会变濑尿牛丸 59.115.209.208 11/09 09:20
: → MOONRAKER:thread的好处:共用code空间 阿既然三个 59.115.209.208 11/09 09:20
: → MOONRAKER:程式完全不同 那code空间还是跟分开三个 59.115.209.208 11/09 09:21
: → MOONRAKER:*推文容许长度太短了* 59.115.209.208 11/09 09:21
========
user space 的 multi-thread 最大的特点就是 user program
自行管理 shared space 与 thread scheduling/synchronization.
完全不相干的程式片段成为muti-thread时, 不管是轮流或多核
交错并行, 最大的优点就是可以避免 process 切换时带来不必要的
context switching. 但单核只有单组 processor register set 时,
仍免不了要 user program 自行进行 register save/restore 动作,
因为 cpu 内部资源还是会有共用的地方, 只是需要处理的量可以少
很多.
不相干又用不到太多相同的资源时, user program 就可针对少
数会共用到的部份, 自行决定如何透过 muti-thread 进行 scheduling
/synchronization 动作, 挑选最有利有效的时间点做事.
一般使用高阶语言程式与高阶API者应该不会处理的这麽细. 这已
经是类似粗放与细耕的代价/获益问题.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.4.12