我有两个空位,并希望两者都用自己的线程进行处理。
我的主线程执行第一个void(它是一个循环),然后应该启动一个新的Thread,它与void 2(也是一个循环)一起工作
我试过这样:
Thread graphicsThread = new Thread(new ThreadStart(graphicsDoAction()));
... 这是graphicsDoWork无效:
public void graphicsDoAction()
{
System.Threading.Thread.Sleep(200);
while (true)
{
//GraphicsLoop
switch (gameState)
{
case gameStateEnum.visualising:
g.DrawString("Loading...", menuFont, new SolidBrush(Color.WhiteSmoke), new PointF(100, this.Height / 2));
g = this.CreateGraphics();
g.DrawImage(Game2.Properties.Resources.bg, 0, 0, this.Size.Width, this.Size.Height);
System.Threading.Thread.Sleep(100);
break;
case gameStateEnum.mainMenu:
break;
}
}
}
代码中的某处,我的graphicsThread将使用graphicsThread.Start();
执行我总是得到一个错误,说我的fieldinitialiser不能引用静态函数。 graphicsDoAction()没有静态修饰符,为什么一直这么说?