我正在嘗試使用線程來進行私人項目,我有一個問題,因爲我覺得很容易回答。線程中的C#集合變量
是否可以在另一個線程中設置變量?
這裏一點點的代碼示例告訴你什麼是我想要做的事:
public class PartyClass
{
public boolean partytime = true;
public void MakeParty()
{
while(partytime)
Console.WriteLine("I'm making a party here");
Console.WriteLine("The party ended. Please leave now");
}
public void StopParty()
{
partytime = false;
}
}
public class MainThread
{
public static int Main(String[] args)
{
PartyClass party = new PartyClass();
Thread partyThread = new Thread(new ThreadStart(party.MakeParty()));
partyThread.Start();
while (!partyThread.IsAlive) ;
System.Threading.Thread.Sleep(5000);
// Now I want to somehow call the StopParty() Method
}
}
我不知道這是否是真的愚蠢的我想要做的,但我認爲這是一個很好的方式,以乾淨的方式停止「Partythread」。
這是可能的還是有更好的解決方案呢? 感謝您的想法。
(我沒有測試的代碼 - 只是寫出來我的頭)
您的主線程正在等待第二個線程停止,並且第二個線程不會停止,直到主線程告訴它爲止。它會一直持續下去。 – Servy 2014-11-06 16:56:44