您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“java同步的使用條件有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“java同步的使用條件有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
1、為了保持跨線程的正確可見性,必須使用synchronized或volatile。
2、讀取可能是另一個線程最終寫入的變量。
3、寫一個可能被另一個線程讀取的變量。
實例
class SellTicket implements Runnable { private int tickets = 10; public void run() { while (true) { if (tickets > 0) sell(); else return; } } public synchronized void sell() { if (tickets > 0) { System.out.println(Thread.currentThread().getName() + "賣出第" + tickets + "張票"); tickets--; try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } } } public class TicketTest { public static void main(String args[]) { SellTicket t = new SellTicket(); new Thread(t, "窗口1").start(); new Thread(t, "窗口2").start(); new Thread(t, "窗口3").start(); System.out.println("主線程結束"); } }
讀到這里,這篇“java同步的使用條件有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。