Rumah >Java >javaTutorial >Apakah syarat untuk menggunakan penyegerakan java?
1. Untuk mengekalkan keterlihatan yang betul merentas benang, disegerakkan atau tidak menentu mesti digunakan.
2. Bacaan mungkin pembolehubah yang akhirnya ditulis oleh thread lain.
3. Tulis pembolehubah yang mungkin dibaca oleh urutan lain.
Contoh
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("主线程结束"); } }
Atas ialah kandungan terperinci Apakah syarat untuk menggunakan penyegerakan java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!