[问题] multiple thread在multicore

楼主: wsx02   2012-06-25 21:28:26
1. when multiple threads run in parallel on a multicore system, would the
more threads for the same task always finish earlier when the number of
threads is less than the number of cores? why?
我想应该是错的 可是不知道该怎么解释 不知道有没有什么例子
2. in what situation, applications using kernel thread would not always have
a better performance than using user thread?
我目前想到的是建立和管理user thread会比kernel thread还快
可是想不到有什么实际的例子
谢谢
作者: mars90226 (火星人)   2012-06-25 23:37:00
你这个跟我考的期中考一模一样阿...我第一题写"不会",create thread需要资源而且multithread工作还是需要整合,也需要时间第二题主因是kernel thread需要context switch太多kernel threads时,context switch时间就会太久
作者: mingcloud (逆宇)   2012-06-26 16:50:00
第二题: 简单的例子 有个Server每次有人连进来就开Thd开完回传现在时间就挂掉 人多的话就挂一直开Thd再死掉用Kernel Thread 会非常没效率(基本上只是你叙述的加强)第一题的话是错的 但是很难举实例就算上班之后你也只测出几个Thd效能最好原因是越多Thd管理上要付出的成本越大第一题其实也可以用我上面例子 回传时间这个简单的事情不需要再多开一个Thd你新的这两个描述我都觉得怪怪的 感觉都是case by case

Links booklink

Contact Us: admin [ a t ] ucptt.com