我們在用c# 開發程式時,經常會使用的多執行緒,實現多工的處理。一般常用的方法是新建多個執行緒,進行處理。
今天我分享乙個採用執行緒池的方式來實現的例項。對有需要的朋友做個借鑑。
例項: winform
usingview codesystem;
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()}}
執行效果:
多執行緒例項
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...