c 多線例項

2021-06-17 16:26:04 字數 1727 閱讀 5016

using system;

using system.threading;

using system.text;

namespace controlthread

: 第二個執行緒正在執行,請輸入"

+ " (s)uspend, (r)esume, (i)nterrupt, or (e)xit.",

datetime.now.tostring("hh:mm:ss.ffff"));

// 睡眠 2 秒種.

thread.sleep(2000);

}catch (threadinterruptedexception)

: 第二個執行緒被中斷.",

datetime.now.tostring("hh:mm:ss.ffff"));

}catch (threadabortexception abortex)

: 第二個執行緒被終止. ()",

datetime.now.tostring("hh:mm:ss.ffff"),

abortex.exceptionstate);

// 儘管 threadabortexception已經被處理,

//執行時還是會丟擲乙個異常以確保執行緒被終止.}}

static void main(string args)

: 啟動第二個執行緒.",

datetime.now.tostring("hh:mm:ss.ffff"));

// 啟動第二個執行緒.

thread.start();

// 迴圈處理使用者輸入的命令.

char command = ' ';

do : 掛起第二個執行緒.",

datetime.now.tostring("hh:mm:ss.ffff"));

thread.suspend();

break;

case 'r':

// 繼續第二個執行緒執行.

try : 繼續第二個執行緒執行.",

datetime.now.tostring("hh:mm:ss.ffff"));

thread.resume();

}catch (threadstateexception)

: 執行緒並沒有被掛起.",

datetime.now.tostring("hh:mm:ss.ffff"));

}break;

case 'i':

// 中斷第二個執行緒.

console.writeline(" : 中斷第二個執行緒.",

datetime.now.tostring("hh:mm:ss.ffff"));

thread.interrupt();

break;

case 'e':

// 終止第二個執行緒,並且為已經中止的執行緒傳遞乙個狀態物件

// 本例是一條訊息.

console.writeline(" : 正在終止第二個執行緒.",

datetime.now.tostring("hh:mm:ss.ffff"));

thread.abort("終止示例.");

// 等待第二個執行緒結束.

thread.join();

break;

}} while (command != 'e');

// 等待繼續.

console.writeline("主方法結束. 按下回車鍵.");

console.readline();}}

}

ThreadPoolExecutor 多執行緒

from concurrent.futures import threadpoolexecutor,wait,all completed from queue import queue myqueue queue 佇列,用於儲存函式執行結果。多執行緒的問題之一 如何儲存函式執行的結果。def thr...

c 11 多線執行緒 future

std promise 類介紹 promise 物件可以儲存某一型別 t 的值,該值可被 future 物件讀取 可能在另外乙個執行緒中 因此 promise 也提供了一種執行緒同步的手段。在 promise 物件構造時可以和乙個共享狀態 通常是std future 相關聯,並可以在相關聯的共享狀態...

CLLocationManager在多執行緒下使用

似乎定位的返回 呼叫 只能有主線程來呼叫,並且這個物件還必須是在主線程建立的。做過以下實驗 1.子執行緒中 self.locationmanager cllocationmanager alloc init autorelease locationmanager.delegate self loca...