using System.Threading; // 匯入 Thread 類別
Thread 變數名稱 = new Thread(執行緒執行方法);
變數名稱.Start();
void 執行續方法() {
while (執行續開關) {
//執行緒執行動作 ........
}
執行緒.Sleep(1000);
}
C# 以下範例程式:
執行緒注意地方 紅色標記。
using UnityEngine;
using System.Collections;
using System.Threading;
public class A {
bool sw; // Thread sw (執行緒開關)
// 給值開關
public bool setSw(bool sw) {
return this.sw = sw;
}
// 取值開關
public bool getSw() {
return this.sw;
}
// A Class Thread Message (A類別執行緒執行)
public void Message() {
while (sw.Equals(true)){
Debug.Log("這是A類別執行緒");
}
Thread.Sleep(1000); // 暫停一秒
}
// close Applicaction Thread close (關掉應用程式執行緒關掉)
public void Stop() {
sw = false;
}
}
public class ThreadTest : MonoBehaviour {
Thread test1, test2; // Thread declare (執行緒宣告)
A a = new A(); // A class declare (A類別宣告)
public bool testSw = false; // Thread Sw (執行續開關)
void Update() {
if (a.setSw(testSw).Equals(true)) {
test1 = new Thread(a.Message);
test1.Start();
test2 = new Thread(Message);
test2.Start();
}
}
// close Applicaction (關掉應用程式)
void OnApplicationQuit() {
a.Stop();
}
// ThreadTest class Thread Message (ThreadTest 類別執行緒)
void Message() {
while (a.getSw().Equals(true)){
Debug.Log("這是本類別執行緒");
}
Thread.Sleep(1000); // 暫停一秒
}
}
-----------------------------------------------
執行結果 :
沒有留言:
張貼留言