Java學習日記(6) 多執行緒

2021-06-16 12:19:43 字數 1550 閱讀 6140

多執行緒:執行形式、兩種實現方式及區別、同步及死鎖

實現執行緒的兩種方式:  

繼承thread類:

class  類名稱 extends thread

同步方法    synchronized  方法返回值   方法名稱(引數列表)            ----推薦使用

同步可以保證資源共享的正確性,但過多的同步可能出現死鎖,即程式執行不了了。

案例(生產者和消費者):

由生產者生產一台電腦後,消費者購買一台電腦,如果沒有新電腦生產出來,則等待生產,如果沒有賣出去電腦,則等待消費.

class democatch(interruptedexception e)			

}this.setcomputer(computer); //設定生產

trycatch(interruptedexception e)

this.setcontact(contact);

flag = false; //讓flag為false表示可以消費了

super.notify(); //喚醒等待的執行緒

}public synchronized void get()catch(interruptedexception e)

}trycatch(interruptedexception e)

system.out.println(this.getcomputer()+"-->"+this.getcontact()); //輸出

flag = true; //讓flag為true,表示可以生產了

super.notify(); //喚醒

}public void setcomputer(string computer)

public void setcontact(string contact)

public string getcomputer()

public string getcontact() //setter和getter方法

}; class producer implements runnable

public void run()else

} //變換flag的值,來設定輸出值

}

};

class saler implements runnable

public void run()

} };

public class testdemocc

};

Java學者日記 多執行緒(二)

一 前情回顧 在多執行緒 一 中提到,多執行緒的使用是否一定是安全的呢?下面舉乙個例子來分析 該例子是乙個火車票售票系統,由三個視窗售票,用兩種建立多執行緒的方式來執行 繼承的方式 package thread2 模擬火車站售票視窗,開啟三個視窗售票,總票數為100張 class window ex...

學習日記之多執行緒

要學習執行緒,首先要理解三個概念。什麼是程式,什麼是程序,什麼是執行緒。程式,是指令的集合。程序是正在執行的程式,是靜態概念。執行緒,是程序中乙個 單一的連續控制流程 也稱為輕量級程序。執行緒有一下幾個點 1.乙個程序可以擁有多個執行緒 2.乙個程序中的執行緒個共享相同的記憶體單元,即擁有相同的變兩...

學習日記 java之執行緒

建立執行緒的兩種方法 1 繼承thread類 2 實現runnable介面 解決了單繼承的問題 獲取執行緒的名稱 1 原來執行緒是有預設的名稱的 thread 編號,編號從零開始 2 用getname 可以獲取執行緒名稱。static thread currentthread 獲取當前執行緒物件。直...