(1)多線程技術使程序的響應速度更快 ,因為用戶界面可以在進行其它工作的同時一直處於活動狀態;
(2)占用大量處理時間的任務使用多線程可以提高CPU利用率,即占用大量處理時間的任務可以定期將處理器時間讓給其它任務;
(3)多線程可以分別設置優先級以優化性能。
以下是最適合采用多線程處理:
(1)耗時或大量占用處理器的任務阻塞用戶界面操作;
(2)各個任務必須等待外部資源 (如遠程文件或 Internet連接)。
多線程的主要缺點包括:
(1)等候使用共享資源時造成程序的運行速度變慢。這些共享資源主要是獨占性的資源 ,如打印機等。
(2)對線程進行管理要求額外的 CPU開銷,線程的使用會給系統帶來上下文切換的額外負擔。
(3)線程的死鎖。即對共享資源加鎖實現同步的過程中可能會死鎖。
(4)對公有變量的同時讀或寫,可能對造成臟讀等;