package thread;
/* * 需求:簡單的買票程式
* 需多個視窗同時買票,實現資料共享
*
*
* 實現方式和繼承方式有什麼區別?
* 實現方式避免了單繼承的侷限性。
* * 具體步驟:
* 1.定義類實現runnable介面
* 2.覆蓋runnable介面中的run方法
* 3.通過thread類建立執行緒物件
* 4.將runnable介面的子類物件作為實際引數傳遞給thread類的構造方法
* 5.呼叫thread類的start方法開啟執行緒並呼叫runnable介面子類的run方法
* * 問:為什麼要將runnable介面的子類物件傳遞給thread的構造方法?
* 因為,自定義的run方法所屬的物件是runnable介面的子類物件,
* 所以要讓執行緒去呼叫指定物件的run方法,就必須明確該run方法所屬的物件
*
*
* 繼承thread類的執行緒**(即run方法)是存放在thread子類的run方法中,
* 並覆蓋thread類的run方法
* 實現runnable介面執行緒**(即run方法)是存放在runnable介面子類的run方法中,
* 並實現runnable介面的run方法
* *
*/class saleticket implements runnable //extends thread
} }
//把需要用到synchronized單獨封裝成乙個方法,
public synchronized void show()//注意:同步方法的鎖是this,而靜態的同步方法鎖是類名.class
執行緒系列03,多執行緒共享資料,多執行緒不共享資料
多執行緒程式設計,有時希望每個執行緒的資料相互隔離互不影響,有時卻希望執行緒間能共享資料,並保持同步。本篇體驗多執行緒共享和不共享資料。多執行緒不共享資料 對於多執行緒,clr到底是怎樣為它們分配記憶體棧空間呢?是 乙個蘿蔔乙個坑 每個執行緒都有自己的棧空間 還是 大樹底下好乘涼 所有的執行緒共享同...
C 多執行緒共享資料
在多執行緒程式設計中,我們經常要使用資料共享.c 中是如何實現的呢?很簡單,只要把你要共享的資料設定成靜態的就可以了.關鍵字static 如下 static queue q1 new queue static int b 0 在這裡我定義了乙個整形變數b和佇列q1.接下去就可以建立多執行緒 了.如下...
C 多執行緒共享資料
在多執行緒程式設計中,我們經常要使用資料共享.c 中是如何實現的呢?很簡單,只要把你要共享的資料設定成靜態的就可以了.關鍵字static 如下 static queue q1 new queue static int b 0 在這裡我定義了乙個整形變數b和佇列q1.接下去就可以建立多執行緒 了.如下...