2012-06-12 35 views
1

切換我觀察大致在多線程應用中的趨勢跟蹤減少線程上下文的開銷,在多線程應用程序

No. of threads: 2 
Application time: 5s 

No. of threads: 4 
Application time: 10s 

No. of threads: 8 
Application time: 20s 

No. of threads: 16 
Application time: 40s 

1,有什麼能爲越來越多的應用時間的原因(因爲我不沒有任何其他應用程序正在運行,並且我擁有足夠的資源)?

2-I猜增加施加時間是由於增加線程上下文切換開銷。如果我是正確的減少這種上下文切換開銷的方法是什麼?

探查是不是給我的線程級任何見解。

平臺信息

的Android,基於ARM Cortex-A8的運行

回答

0

你是不是顯示你在這些線程在做什麼。這個容易假設的答案是,當你添加新線程時,這些新線程並不能減輕其他線程的執行負擔,他們正在做新的工作,否則就無法執行。

在運行時間爲40秒,16個線程,你不會注意到的上下文切換,除非你還指望執行工作的實際單位和工作的單位採取的少量時間的效果。