C Thead類擴充套件封裝

2021-10-07 12:44:41 字數 1402 閱讀 1830

場景一: 使用thread建立兩個執行緒a 和b,如何順序執行這兩個執行緒,即確保執行完a再執行b?

解決方案:**就不寫了比較簡單,思路:再啟動乙個執行緒,在這個執行緒裡按順序start a和b,即能保證先執行a再執行b、

func<

int> func =()

=>

;int result =

threadwithreturnvalue1

(func)

;console.

writeline

(result)

;static t threadwithreturnvalue1

<

t>

(func func)

);//thread thread = new thread(threadstart);

thread thread =

newthread((

)=>);

thread.

start()

; thread.

join()

;//可以獲取返結果,但是這樣會阻塞介面

return t;

}

方式二:執行緒啟動後,不直接阻塞執行緒,而是返回乙個委託,當需要得到執行結果的時候在觸發委託(此時執行緒已經執行一段時間,有可能已經結束也有可能在進行中,減少介面卡頓的現象)

func<

int> funcresult =

threadwithreturnvalue2

(func)

;console.

writeline

("dosomething");

console.

writeline

("dosomething");

console.

writeline

("dosomething");

console.

writeline

("dosomething");

int iresult = funcresult.

invoke()

;//如果需要得到執行結果,是必須要等待的

static func

threadwithreturnvalue2

<

t>

(func func)

);//thread thread = new thread(threadstart);

thread thread =

newthread((

)=>);

thread.

start()

;return

newfunc

<

t>((

)=>);

}

Gson使用擴充套件及封裝

gsonbuilder 通過該類初始化一些gson的基本屬性 gson gson new gsonbuilder 序列化null serializenulls 設定日期時間格式,另有2個過載方法 在序列化和反序化時均生效 setdateformat yyyy mm dd 禁此序列化內部類 disab...

封裝分頁類

class pageelse if this total 0 else function showpage print r parse url query parse str parse url query parms if array key exists page parms if count ...

類和類的封裝

在日常生活中,我們總是將事物進行分門別類。列如 電腦,手機,相機等等,這些稱呼都是對於某一類事物的總稱。我們還能將電腦按照品牌分類,比如,戴爾電腦 惠普電腦 蘋果電腦 華碩電腦等。這些都是抽象的概念。我的電腦這個實體,它就是乙個具體的事物,我的電腦是戴爾的,但我不能說戴爾電腦是我的電腦。類和物件是面...