java中對資源的
阿新 • • 發佈:2018-12-15
在java多執行緒的資源共享中,物件的建立對資源是否能夠共享有很大影響。如圖:在建立了一個物件,利用thread的建構函式引用同一個物件時可以達到多執行緒,但是如果每個執行緒都構造一個物件的話,即使使用synchronized修飾的程式碼塊也起不到同步作用。
package xianchgen; class Teacher implements Runnable { private int notes=80; public void run() { while(true) { Taketeacher(); if(notes<=0) { break; } } } private synchronized void Taketeacher() { if(notes>0) { try { Thread.sleep(10); }catch(InterruptedException e){ e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+"售出的票為"+notes--); } } } public class ShouPiao { public static void main(String [] args) { Teacher teacher=new Teacher(); new Thread(teacher,"張老師").start(); new Thread(teacher,"王老師").start(); new Thread(teacher,"周老師").start(); } }