標籤:線程同步 鎖
/* 同步的前題: 1.必須要有兩個或以上線程 2.必須是多個線程使用一個鎖 優點:解決多安全執行緒問題 弊端:多個線程判斷鎖,消耗資源 */package pack;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Ticket t = new Ticket(); Thread t1 = new Thread(t); Thread t2 = new Thread(t); Thread t3 = new Thread(t); Thread t4 = new Thread(t); t1.start(); t2.start(); t3.start(); t4.start(); } public static void sys(Object obj) { System.out.println(obj); }}/*class Ticket implements Runnable { //同步代碼塊 Object obj = new Object(); private int tick = 100; public void run() { while(true) { synchronized(obj) { if(tick>0) Main.sys(Thread.currentThread().getName()+"---"+tick--); } } }}*/class Ticket implements Runnable { //同步函數 Object obj = new Object(); private int tick = 100; public void run() { while(true) { show(); } } public synchronized void show() { if(tick>0) Main.sys(Thread.currentThread().getName()+"---"+tick--); }}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
java線程同步