1、明確目的,為什么要使用多線程?如果是由於單線程讀寫或者網絡訪問(例如HTTP訪問互聯網)的瓶頸,可以考慮使用線程池。如果是對不同的資源(例如SOCKET連接)進行管理,可以考慮多個線程。
2、線程使用中要注意,如何控制線程的調度和阻塞,例如利用事件的觸發來控制線程的調度和阻塞,也有用消息來控制的。
3、線程中如果用到公共資源,一定要考慮公共資源的線程安全性。一般用LOCK鎖機制來控制線程安全性。一定要保證不要有死鎖機制。
4、合理使用sleep,何時Sleep,Sleep的大小要根據具體項目,做出合理安排。一般原則非阻塞狀態下每個循環都要有SLeep,這樣保證減少線程對CPU的搶奪。每次線程的就緒和激活都會占用一定得資源,如果線程體如果有多個循環,多處使用SLEEP將導致性能的下降。
5、線程的終止一般要使線程體在完成一件工作的情況下終止,一般不要直接使用拋出線程異常的方式終止線程。
6、線程的優先級一定根據程序的需要要有個整體的規划。