昨晚在写个程序,需要创建个线程调用有返回参数的方法。结果失败了,提示返回类型错误。
我想问下大家:
线程能不能调用有返回参数的方法呢?具体应该怎么用??我自己想了两个可以解决的方法:
一:在创建线程之前,先封装个没返回值的方法。方法里面调用那个有返回参数的方法;
二:把那个要传递的参数定义成静态的,在之前那个有返回参数的方法里对静态变量赋值就ok了。

解决方案 »

  1.   

    不是很懂,我是说
    Thread send = new Thread( new ThreadStart(keepalive));这个keepalive是有返回值的,而这条语句报错:返回类型错误。你说的应该是keepalive里面的吧??
      

  2.   

    private void button1_Click(object sender, EventArgs e)
    {
        int i = 0;//返回值
        Thread th = new Thread((ThreadStart)delegate
            {
                int tick = Environment.TickCount;
                while (Environment.TickCount - tick < 5000) Application.DoEvents();
                i = 100;
            });
        th.Start();
        this.Text = "主线程还继续工作了";
        while (th.IsAlive) Application.DoEvents();
        MessageBox.Show(i.ToString());
    }这样可以算实现你要的么?