1. 程式人生 > >java中對資源的

java中對資源的

在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();
 }
}

輸出結果
一個物件那個下執行緒共享資源