目前有class a和class b兩個類,需求是想要將class a中的變數傳給class b,然後在class b中更改class a傳過來的變數。期望當class b修改完class a傳來的變數後,class a中的變數值也發生相應的變化。
為了實現這個操作,最直接的想法是定義乙個全域性變數,這樣class a和class b都能直接對它進行更改。但是c#中沒有了c++全域性變數的概念,所有變數都得放在某乙個類裡面,因此全域性變數得放在乙個大家都能訪問到的類裡面。
再定義乙個class c,在class c中定義乙個靜態變數,這樣class a與class b都能對這個靜態變數進行訪問和更改。
在class a中宣告靜態變數,並定義乙個public方法。class a將待處理的資料傳給class b後,class b每次對class a傳過來的資料計算完成後,都呼叫class a中定義的public方法,將修改後的資料寫入class a中定義的靜態變數。
具體操作如下:
public
class
a//例項化class b,並傳遞待處理資料
byte
data =
newbyte
[100];
b threadid =
newb
(data)
;//建立執行緒
thread t =
newthread
(new
threadstart
(threadid.
threadproc()
);//啟動執行緒
t.start()
; t.
join()
;}public
class
bpublic
void
threadproc()
}
c# share or modify variables between classes jQuery同時新增或移除多個class類名
方式一 selector attr class a b c 方式二 selector addclass a b c 只需要通過空格來間隔 class 值即可一次性清除掉多個 class selector removeclass a b c addclass classname 方法是用來給指定元素增...
在可執行檔案或DLL的多個例項之間共享靜態資料
全域性資料和靜態資料不能被同乙個 exe 或dll 檔案的多個映像共享,這是個安全的預設設定。每個 exe 或dll 檔案的映像都由許多節組成。按照規定,每個標準節的名字均以圓點開頭。例如,當編譯你的程式時,編譯器會將所有 放入乙個名叫 text 的節中。該編譯器還將所有未經初始化的資料放入乙個 b...
JAVA 併發程式設計 多個執行緒之間共享資料(六)
1。假設每乙個執行緒執行的 同樣。能夠使用同乙個 runnable 物件,這個 runnable 物件中有那個共享資料,比如,賣票系統就能夠這麼做。2,假設每乙個執行緒執行的 不同。這時候須要用不同的 runnable 物件,比如,設計4個執行緒。當中兩個執行緒每次對j新增1。另外兩個執行緒對j每次...