如果一個方法內(nèi)含有一個for循環(huán),測出這個方法執(zhí)行需要20秒,當(dāng)有100個客戶端同時訪問時,方法執(zhí)行時并行還是串行的。如果是串行的那不是最后一個相應(yīng)的客戶為2000秒? 方法應(yīng)該是引用變量,那就是說所有用戶都同時訪問同一個地址的內(nèi)容? 求解,最好比較詳細(xì)
2 回答

子衿沉夜
TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊
這個問題要這么分析,for 循環(huán)執(zhí)行20秒 時CPU占用率是多少,如果是100%(單CPU環(huán)境) ,那么并發(fā)時雖然是多線程并行處理,但由于CPU資源有限,并行處理的多個線程并不能得到足夠的CPU資源,那么100個客戶并發(fā)時其響應(yīng)時間很可能是每個客戶都是2000秒(因為是并行)。如果CPU不是100%,那么要具體分析程序的阻塞是怎么造成的,是IO,還是數(shù)據(jù)庫調(diào)用還是鎖定,網(wǎng)絡(luò)等等,多線程并發(fā)時在這種情況下要考慮的問題更多,比如數(shù)據(jù)庫的鎖定問題,內(nèi)核對象的互鎖問題,IO的并行訪問問題等等。

動漫人物
TA貢獻(xiàn)1815條經(jīng)驗 獲得超10個贊
現(xiàn)在的程序,基本上是多線程的了,特別是web,所以你不用擔(dān)心
所有方法都可以同時訪問同一個地址的內(nèi)容,但是若要修改,請記得加鎖,否則你將會有萬分之一的幾率出錯^_^
- 2 回答
- 0 關(guān)注
- 308 瀏覽
添加回答
舉報
0/150
提交
取消