java多執行緒那些事

2021-06-16 11:42:58 字數 566 閱讀 4639

多執行緒那些事

0.多執行緒實現兩種方式:

<1>.new thread(

public void run()

).start();

<2>.new thread(

new runnable()

}).start();

推薦第二種,物件導向,***

1.synchronzied加誰身上鎖住誰,***,而且還是個悲觀鎖,但是確實能解決多執行緒同步問題,就是效率問題···

2.threadlocal類,為每個子執行緒提供乙個副本,是個好東東

3.多執行緒共享資料,封裝到乙個大物件比較好吧,然後每個任務都引用到大物件,記得讀寫時加鎖(需要的時候)···

4.原子性操作類--cas原理,多執行緒共享資料時,建議使用

5.執行緒併發庫,把一些任務(實現了runnable介面的類)扔到執行緒池裡去執行,當然這個優越性前提是大牛已經把最困難的解決了···

6.callable 和future,把任務完成後的狀態顯示出來

7.lock 鎖,其實就是作業系統中的訊號量,好沒意思,但是人家是物件導向出身

8.歡迎補充

多執行緒那些事

其實在所有的軟體開發人員心裡應該有乙個開發準則,那就是錙銖必較。就是對於效能和速度的要求是我們不斷努力的方向。多執行緒就是為了實現我們對計算機硬體的最大化利用和並行處理而提出來的解決方案。當然對效能的要求就帶來了複雜的演算法處理方案。但是其他方面的效能優化也為我們的多執行緒程式設計引入了新的麻煩。首...

MFC執行緒同步那些事

題目有點大,其實主要講述執行緒執行及退出時遇到的一些問題和解決辦法以及注意事項。乙個工業控制專案,用usb口採集資料,程式結構是主程序負責介面和演算法,建立乙個子執行緒負責usb通訊,讀取資料,死迴圈。參考mfc的執行緒演練編制,以下根據 逐行說明 1.啟動執行緒 用afxbeginthread c...

執行緒池的那些事

一般我們進行執行緒的操作時,往往要建立乙個新的執行緒,執行完畢後再銷毀,等到有新的執行命令時,又得重新建立執行緒,如此一來顯得十分繁瑣,如果我們將之前執行過的執行緒不銷毀而是放入乙個池子中,當需要執行時直接引用它,這就能省下許多操作的步驟與時間,因此不會由於等待建立執行緒而延遲任務的執行,從而提高了...