C 多執行緒初級彙總

2021-08-20 05:09:41 字數 2124 閱讀 4107

非同步委託

建立執行緒的一種簡單方式是定義乙個委託,並非同步呼叫它

委託是方法的型別安全的引用

delegate類還支援非同步地呼叫方法。在後台,delegate類會建立乙個執行任務的執行緒

static

void main(string args)

int result = dl.endinvoke(ar);

console.writeline("result:", result);

}public

delegate

inttakesawhiledelegate(int data, int ms);

static

int takesawhile(int data, int ms)

while (true)

}

takesawhiledelegate dl = takesawhile;

dl.begininvoke(1, 500, takesawhilecompleted, dl);

for (int i = 0; i

< 100; i++)

static

void takesawhilecompleted(iasyncresult ar)

", result);

}

thread類
var t1 =

newthread(threadmain) ;

t1.start();

console.writeline("main thread ending now.");

static void threadmain()

started", thread.currentthread

.name);

thread.sleep(3000);

console.writeline("thread completed", thread.currentthread

.name);

}

執行緒池
int nworkerthreads;

int ncompletionportthreads;

threadpool.getmaxthreads(out nworkerthreads, out ncompletionportthreads);

console.writeline("max worker threads:,i/o completion threads:",

nworkerthreads, ncompletionportthreads);

for (int i = 0; i < 5; i++)

static

void jobforathread(object state)

,running inside pooled thread",

i, thread.currentthread.managedthreadid);

thread.sleep(50);

}}

任務

//using task factory

taskfactory tf = new taskfactory();

task t1 = tf.startnew(taskmethod);

//using the task factory via a task

task t2 = task.factory.startnew(taskmethod);

//using task constructor

task t3 = new task(taskmethod);

t3.start();

task t4 = new task(taskmethod, taskcreationoptions.prefe***irness);

t4.start();

static void taskmethod()

", task.currentid);

}

C 多執行緒初級一 建立執行緒

polythreaddemo.cpp 定義控制台應用程式的入口點。這裡有乙個觀點,就是當使用某個函式的時候,再 寫上頭檔案,不用一開始就來 include stdafx.h include include include using namespace std void hello int tmai...

Android 多執行緒彙總

多個執行緒同時進行,即多個任務同時進行,特別注意 android官方宣告 在多執行緒程式設計時有兩大原則 不要阻塞ui執行緒 即主線程 單執行緒會導致主線程阻塞,然後出現anr錯誤 主線程被阻塞超過5s則會出現錯誤 不要在ui執行緒之外更新ui元件 所以,我們需要多執行緒 1個主線程 x個工作執行緒...

C 多執行緒基礎知識彙總

最近自己寫了個小爬蟲,裡面用到了多執行緒技術,忽然發現對此技術竟然有些陌生了,於是乎開始瘋狂的去問度娘,在此記錄下來,以便自己和各位小夥伴們學習。一 什麼是執行緒 乙個應用程式就相當於乙個程序,程序擁有應用程式的所有資源程序包括執行緒,程序的資源被執行緒共享,但不擁有執行緒。我們可以開啟電腦中的任務...