1
class Form1
{ 
    private void sendemail_Click(object sender, EventArgs e)
    {           
        totalproxy=10;

        for (int i = 0; i < totalproxy; i++)
        {
            ThreadStart ts1 = new ThreadStart(sendmail());
            Thread thread1 = new Thread(ts1);
            thread1.Start();
            while (thread1.IsAlive) ;
        }            

    }

    public void sendmail()
    {
        //some code goes here
    }
}   

is 给了我一个错误,这里需要方法名称

new ThreadStart(xxxxx);

sendmail()已经写在那里了。

4

2 回答 2

8

代替

new ThreadStart(sendmail());

new ThreadStart(sendmail);

因为您不想调用方法,而是将方法委托给线程

于 2012-11-10T16:36:43.117 回答
1

ThreadStart 需要一个委托(http://msdn.microsoft.com/fr-fr/library/system.threading.threadstart(v=vs.80).aspx),它是一个函数地址,与另一个变量的地址完全一样。

在您的代码中,您使用 sendmail 而不是仅通过其名称给出其地址ThreadStart ts1 = new ThreadStart(sendmail);

于 2013-01-10T21:01:37.153 回答