我正在尝试使用线程来进行私人项目,我有一个问题,因为我觉得很容易回答。线程中的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