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...