1.各執行緒的資料要分離開來,避免使用全域性變數。
2.如果各執行緒一定要使用全域性變數,哪麼該全域性變數一定要讀寫保護(臨界區,互斥等技術)。
4.確定你知道你的執行緒狀態,不要徑自結束程式而不等待它們的結束;
5.讓主線程處理使用者介面(ui)。
6.千萬不要在乙個臨界區中呼叫sleep()或wait..()api函式;不要長時間鎖住乙份資源。
7.執行緒之間(包括主線程與工作執行緒,工作執行緒與工作執行緒)的通訊,可通過互發訊息解決。當然這時工作執行緒要自己內建訊息迴圈接收處理訊息。
執行緒特點:
1.各執行緒的執行是無序的,即使先建立的執行緒也不一定比後建立的執行緒早執行或早執行或早結束。
2.主線程(primary thread):程式啟動後就執行的那個執行緒稱為主線程。
主線程有兩個特點:
第一,它必須負責gui(圖形使用者介面)程式中的主訊息迴圈。
第二,主線程的結束,會使得程式中的所有執行緒(包括程序內的所有worker執行緒)都被強迫結束。
多執行緒開發經驗總結 未完
1.盡量不要使用執行緒外部傳入的記憶體指標 那麼將特別容易造成程式崩潰。這一點說起來十分簡單,可是到了程式裡面,大量的程式 邏輯結構交織在一起,再想看清楚執行緒間使用記憶體的關係,就比較困難了。為了理清執行緒使用的記憶體是否為外部傳入可以從兩個方面入手 a.執行緒的傳入引數,因為執行緒傳入引數一般只...
程式設計經驗總結
學習要選一本好書,不要持有懷疑的態度,把裡面的例子都實現,然後再有思路之後,在做些許的改動,成為自己的風格。讀書有快慢之分,一種是用金錢來換時間 選擇一家培訓機構,或者是求助於人 另一種是用時間來換時間。另外當你有一定的經驗後,就要注意去練習 有思路就要表現在 上,在學校是為了解決道理,知識點,但是...
程式設計經驗總結
在這個行業裡做了快4年了,多少總結了一些東西,成功也許很難複製,但是失敗卻時常被人們重複,我不敢說我做的很好,但是我希望總結出以前失敗的一些教訓,時不時看看,提醒自己以後再也不要犯類似的錯誤.這篇文章會不定期的更新,可能就是簡短的幾句話,但是,也是我實踐和思考的結果.1 程式不會出錯,出錯的肯定是人...