finalize什么意思中文 怎么讓線程能夠異步的執(zhí)行呢?
怎么讓線程能夠異步的執(zhí)行呢?沒有分?jǐn)?shù)?有個(gè)主意!從主線程新線程開始一個(gè)分支線程使用delegate執(zhí)行要在分支線程中操作的方法,使用BeginInvoke執(zhí)行修改后的委托,得到IAsyncResult
怎么讓線程能夠異步的執(zhí)行呢?
沒有分?jǐn)?shù)?有個(gè)主意
!從主線程新線程開始一個(gè)分支線程
使用delegate執(zhí)行要在分支線程中操作的方法,
使用BeginInvoke執(zhí)行修改后的委托,得到IAsyncResult的結(jié)果
并始終判斷IAsyncResult的iscompleted
如果執(zhí)行完成,使用endinvoke得到結(jié)果異步操作,然后使用主線程上的invoke執(zhí)行來顯示結(jié)果
(應(yīng)該是主線程,只做一件事,打開一個(gè)線程。異步調(diào)用和等待異步結(jié)束,都是分支線程做的,所以主線程不會(huì)裝死,當(dāng)主線程顯示結(jié)果時(shí),直接操作是有問題的,應(yīng)該是跨線程的!程序是一個(gè)進(jìn)程,程序中的多個(gè)任務(wù)稱為線程。過程是資源分配和調(diào)度的基本單元。線程是進(jìn)程中最小的單元,是處理器調(diào)度的基本單元。進(jìn)程與線程的關(guān)系
(1)一個(gè)線程只能屬于一個(gè)進(jìn)程,一個(gè)進(jìn)程可以有多個(gè)線程,但至少有一個(gè)線程。線程是操作系統(tǒng)認(rèn)可的最小的執(zhí)行和調(diào)度單元。
(2)資源分配給一個(gè)進(jìn)程,同一進(jìn)程的所有線程共享該進(jìn)程的所有資源。同一進(jìn)程中的多個(gè)線程共享代碼段(代碼和常量)、數(shù)據(jù)段(全局變量和靜態(tài)變量)和擴(kuò)展段(堆存儲(chǔ))。但是,每個(gè)線程都有自己的堆棧段,也稱為運(yùn)行時(shí),用于存儲(chǔ)所有局部變量和臨時(shí)變量。