Java 里面進行多線程通信的主要方式就是共享內存的方式,共享內存主要的關注點有兩個:可見性和有序性原子性。Java 內存模型(JMM)解決了可見性和有序性的問題,而鎖解決了原子性的問題,理想情況下我們希望做到“同步”和“互斥”。有以下常規的實現方法:
將數據抽象成一個類,并將數據的操作作為這個類的方法。
Runnable 對象作為一個類的內部類。
一. 將數據抽象成一個類,并將數據的操作作為這個類的方法
將數據抽象成一個類,并將對這個數據的操作作為這個類的方法,這么設計可以和容易做到同步,只要在方法上加”synchronized“。
二. Runnable 對象作為一個類的內部類
將 Runnable 對象作為一個類的內部類,共享數據作為這個類的成員變量,每個線程對共享數據的操作方法也封裝在外部類,以便實現對數據的各個操作的同步和互斥,作為內部類的各個 Runnable 對象調用外部類的這些方法。
更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。