Winform c 多執行緒處理例項

2022-02-17 21:53:31 字數 1688 閱讀 1037

我們在用c# 開發程式時,經常會使用的多執行緒,實現多工的處理。一般常用的方法是新建多個執行緒,進行處理。

今天我分享乙個採用執行緒池的方式來實現的例項。對有需要的朋友做個借鑑。

例項: winform

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

using

system.threading;

namespace

multithreading

//////

頁面初始化載入

/// ///

///private

void form1_load(object

sender, eventargs e)

//////

執行緒處理事務

/// ///

private

void on_threadevent(object

obj)

//清除佇列資料

this

.tasklist.clear();

this

.on_endlog();

this

.cmdwaiter.reset();

}catch

(exception e)}}

//////

執行我們自己的業務

/// ///

private

void run_mybusiness(string

str)

//////

開始按鈕

/// ///

///private

void btn_start_click(object

sender, eventargs e)

this.txt_log.text = "

開始:" + datetime.now.tostring("

yyyy-mm-dd hh:mm:ss

") +environment.newline;

this.pg_bar.value = 0

;

this.pg_bar.maximum = this

.tasklist.count;

//解除阻塞

this

.cmdwaiter.set();

}//////

更新進度條

/// private

void

on_update()

private

void

on_endlog()

private

void

on_updatetextbox()}}

view code

執行效果:

多執行緒例項

include include include include define max 10 pthread t thread 2 pthread mutex t mut int number 0,i void thread1 printf thread1 主函式在等我完成任務嗎?n pthread ...

多執行緒例項

正常的情況下,執行緒在執行時多個執行緒之間執行任務的時機是無序的。可以通過改造 的方式使它們執行具有有序性。public class mythread extends thread override public void run else catch interruptedexception e ...

多執行緒,執行緒鎖,例項

多執行緒可以分多條執行緒,同時執行程式,但也因此出現一些問題,通過執行緒鎖可以解決 包子例項 廚師做包子,顧客吃包子,多餘50個包子廚師停止做包子,包子為零顧客停止吃包子,當廚師做到10個後顧客可以吃包子 顧客類 customer.class public class customer implem...