多執行緒 資料共享

2021-07-22 23:32:00 字數 1164 閱讀 2223

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.接下去就可以建立多執行緒 了.如下...