我想創建幾個線程來熟悉多線程的一些知識於是寫了一個小程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace 多線程試驗
{
class Program
{
static void Main(string[] args)
{
int 線程計數器 = 1;
函數庫 H = new 函數庫();
Thread th1 = new Thread(new ThreadStart(H.顯示(線程計數器)));
線程計數器++;
Thread th2 = new Thread(new ThreadStart(H.顯示(線程計數器)));
線程計數器++;
Thread th3 = new Thread(new ThreadStart(H.顯示(線程計數器)));
線程計數器++;
}
}
}
上面是主方法,下面是我要用到的方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Windows;
namespace 多線程試驗
{
class 函數庫
{
public void 顯示(int i)
{
Console.WriteLine("這是第{0}個線程",i);
Thread.Sleep(2000);
Console.WriteLine("第{0}個線程結束",i);
}
}
}
但是在主函數中直接調用就沒問題,但是如果在創建線程的時候作為參數調用方法就會出問題,錯誤提示是“應輸入方法名稱”。求各位大神解惑,先謝過!
錯誤代碼是
Thread th1 = new Thread(new ThreadStart(H.顯示(線程計數器)));
Thread th2 = new Thread(new ThreadStart(H.顯示(線程計數器)));
Thread th3 = new Thread(new ThreadStart(H.顯示(線程計數器)));
這三句
調用的方法不對,參考:http://blog.sina.com.cn/s/blog_7d892a6701018lkv.html