執行緒的掛起與恢復
C#中,執行緒的掛起與恢復是通過Suspend()和Resume()方法實現的。通過下面的例子來說明。
編寫主執行緒呼叫子執行緒,通過類的方法輸出26個大寫英文字母,在主執行緒內部分別呼叫Suspend()和Resume()方法。
(1)定義一個類SuspendText,通過其方法Method實現26個字母的輸出,每輸出一行暫停0.5秒。
(2)主調函式讓子執行緒執行1秒後掛起,主執行緒執行1秒後再喚醒子執行緒繼續執行。
(3)子執行緒執行完畢後,主執行緒結束。
參考程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace threadJoin3
{
class Program
{
static void Method()
{
Console.WriteLine("{0}執行緒啟動", Thread.CurrentThread.Name);
int i = 1;
while (i <= 26)
{
Console.Write(Convert.ToChar(i + Convert.ToInt32('A') - 1) + "\t");
if (i % 8 == 0)
{
Console.WriteLine();
Thread.Sleep(500);
}
i++;
}
Console.WriteLine("\n{0}執行緒結束",Thread.CurrentThread.Name);
}
static void Main(string[] args)
{
Thread.CurrentThread.Name = "主執行緒";
Console.WriteLine("{0}執行緒啟動",Thread.CurrentThread.Name);
Thread myThread = new Thread(new ThreadStart(Method));
myThread.Name = "子執行緒";
myThread.Start();
Thread.Sleep(1000);
myThread.Suspend();
Console.WriteLine("\n掛起{0}執行緒",myThread.Name);
Thread.Sleep(1000);
myThread.Resume();
Console.WriteLine("\n喚醒{0}執行緒", myThread.Name);
Thread.Sleep(1000);
Console.WriteLine("{0}執行緒終止",Thread.CurrentThread.Name);
Console.ReadLine();
}
}
}
相關文章
- Linux中執行緒的掛起與恢復(程式暫停)Linux執行緒
- Android : 執行緒的結束,掛起和恢復(上)Android執行緒
- Android : 執行緒的結束,掛起和恢復(下)Android執行緒
- ManualResetEvent實現執行緒的暫停與恢復執行緒
- 7.6 實現程式掛起與恢復
- 04_FreeRTOS的任務掛起與恢復
- python多執行緒程式設計2—執行緒的建立、啟動、掛起和退出Python執行緒程式設計
- 3.5 掛起和恢復資料庫資料庫
- _11_GCD相關-掛起/恢復GC
- Java執行緒:執行緒的同步與鎖Java執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 執行緒、執行緒與程式、ULT與KLT執行緒
- RMAN恢復 執行重要檔案RMAN恢復
- SQLServer資料庫恢復掛起的解決辦法SQLServer資料庫
- 資料庫的掛起(suspending)和恢復(resuming)資料庫
- Java併發包原始碼學習系列:掛起與喚醒執行緒LockSupport工具類Java原始碼執行緒
- RMAN恢復 執行不重要檔案的RMAN恢復
- 深入理解JVM(③)執行緒與Java的執行緒JVM執行緒Java
- 【多執行緒總結(二)-執行緒安全與執行緒同步】執行緒
- 一起分析執行緒的狀態及執行緒通訊機制執行緒
- Java執行緒中斷與終止執行緒執行Java執行緒
- oracle資料庫的掛起(Suspending)和恢復(Resuming)Oracle資料庫
- 【伺服器資料恢復】linux下執行FSCK後無法掛載的資料恢復案例伺服器資料恢復Linux
- 執行緒與執行緒池的那些事之執行緒池篇(萬字長文)執行緒
- Java多執行緒學習(1)建立執行緒與執行緒的生命週期Java執行緒
- 用rman執行塊恢復
- 子執行緒與UI執行緒的通訊(委託)執行緒UI
- 和朱曄一起復習Java併發(一):執行緒池Java執行緒
- 程式與執行緒執行緒
- 執行緒與程式執行緒
- Java多執行緒學習(3)執行緒同步與執行緒通訊Java執行緒
- Android程式框架:執行緒與執行緒池Android框架執行緒
- Java多執行緒1:程式與執行緒概述Java執行緒
- 【iCore4 雙核心板_uC/OS-II】例程三:任務的掛起與恢復
- 【iCore3 雙核心板_ uC/OS-III】例程三:任務的掛起與恢復
- 從偽並行的 Python 多執行緒說起並行Python執行緒
- PHP的執行緒安全與非執行緒安全版本的區別PHP執行緒
- javascript執行緒及與執行緒有關的效能優化JavaScript執行緒優化