多线程的优缺点
多線程的優(yōu)點:
(1)多線程技術使程序的響應速度更快 ,因為用戶界面可以在進行其它工作的同時一直處于活動狀態(tài);
(2)當前沒有進行處理的任務時可以將處理器時間讓給其它任務;
(3)占用大量處理時間的任務可以定期將處理器時間讓給其它任務;
(4)可以隨時停止任務;
(5)可以分別設置各個任務的優(yōu)先級以優(yōu)化性能。
多線程的缺點:
(1)等候使用共享資源時造成程序的運行速度變慢。這些共享資源主要是獨占性的資源 ,如打印機等。
(2)對線程進行管理要求額外的 CPU開銷。線程的使用會給系統(tǒng)帶來上下文切換的額外負擔。當這種負擔 超過一定程度時,多線程的特點主要表現(xiàn)在其缺點上,比如用獨立的線程來更新數(shù)組內每個元素。
(3)線程的死鎖。即較長時間的等待或資源競爭以及死鎖等多線程癥狀。
(4)對公有變量的同時讀或寫。當多個線程需要對公有變量進行寫操作時,后一個線程往往會修改掉前一個 線程存放的數(shù)據(jù),從而使前一個線程的參數(shù)被修改;另外 ,當公用變量的讀寫操作是非原子性時,在不同的機 器上,中斷時間的不確定性,會導致數(shù)據(jù)在一個線程內的操作產(chǎn)生錯誤,從而產(chǎn)生莫名其妙的錯誤,而這種錯 誤是程序員無法預知的。
總結
- 上一篇: 8086指令(II)
- 下一篇: sqlite中的命令