线程不能作为ThreadStart与void一起使用

时间:2015-07-11 11:09:08

标签: c# multithreading

我有两个空位,并希望两者都用自己的线程进行处理。

我的主线程执行第一个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()没有静态修饰符,为什么一直这么说?

0 个答案:

没有答案