介面和執行緒互動之簡單使用說明

2021-09-08 15:39:12 字數 2489 閱讀 8295

在進行多執行緒設計過程中,最重要的就是實現執行緒同步和執行緒介面互動。如果想實現執行緒同步,可以通過lock鎖來進行;而如果要想執行緒和介面互動,則需要利用委託來進行,下面請看**:

using

system;

using

system.windows.forms;

using

system.threading;

namespace

public

partial

class

mainfrm : form

private

object

lockshopkeeper

=new

object

();

//the flag of locking state

private

good goods;

//good array

private

static

intsum =0

; //

summery of the goods' price

private

void

mainfrm_load(

object

sender, eventargs e)

//init the storage

private

void

initgoods()

;good radish

=new

good ;

good celery

=new

good ;

good onion

=new

good ;

good egg

=new

good ;

goods

=new

good[

5];

goods[0]

=cabbage;

goods[1]

=radish;

goods[2]

=celery;

goods[3]

=onion;

goods[4]

=egg;

for(

inti =0

; i

<

5; i++)

}//generate the random num of buying

private

intsellnum()

//get the index of a good

private

intgetgoodindex()

//////

start to buy goods in 1000 threads

///private

void

openthread()

}private

void

open(

object

_good)

else}}

}private

delegate

void

updatestoragedelegate(good good);

private

delegate

void

updateselldelegate(good good,

intnum);

private

delegate

void

updateprofitdelegate(good good,

intnum);

private

delegate

void

updateprogressinfodelegate(

intsum);

private

delegate

void

updateprogressdelegate(

intsum);

private

void

updatestorage(good good)

else

}private

void

updatesell(good good,

intnum)

else

}private

void

updateprofit(good good,

intnum)

else

}private

void

updateprogress(

intsum)

else

}private

void

updateprogressinfo(

intsum)

else}}

}

看下跑的效果圖:

ORMLite簡單使用說明

最近學習了ormlite資料庫框架,將我了解到的一些簡單使用方法記下來。使用前你需要自己定義乙個dbhelper類繼承ormlitesqliteopenhelper。裡面要新增乙個無參建構函式和重寫裡面的oncreate方法。如下 public class dbhelper extends orml...

Git 簡單使用說明

mkdir project 建立專案目錄 cd project 進入專案目錄 git init 初始化 git 本地倉庫。此命令會在當前目錄新建乙個 git 目錄,用於儲存 git 倉庫的相關資訊。touch readme 建立readme檔案好習慣 git add 將當前目錄新增到 git 倉庫中...

MPI簡單使用說明

1.程式最開始需呼叫mpi庫 include mpif.h 2.進入mpi工作環境需先輸入下面三個命令 mpi init ierr 初始化mpi工作環境 mpi comm rank mpi comm world,myid,ierr myid 程序號 mpi comm size mpi comm wo...