private void fun() { /* 執行緒程式碼 */ }
public void testThread()
{
Thread thread = new Thread(fun);
thread.Start();
}
class MyThread
{
private Thread thread;
public MyThread() => thread = new Thread(run);
public virtual void run() { } // 子類別必須覆寫
public void start() => thread.Start();
public void sleep(int ms) => Thread.Sleep(ms);
}
class ThreadClass : MyThread
{
public override void run() { /* 執行緒邏輯 */ }
}
public void testThreadClass()
{
ThreadClass tc = new ThreadClass();
tc.start();
}
優點:客戶端無需直接操作 Thread,繼承 MyThread 即自動成為執行緒類別,更符合 OO 直覺。