目前,我已经开始工作了:
public void logowanie()
{
int x=5,y=5;
...
}
private void button2_Click(object sender, EventArgs e)
{
Thread thread2 = new Thread(new ThreadStart(logowanie));
thread2.Start();
//logowanie("xd", "xd", "xd");
}
Run Code Online (Sandbox Code Playgroud)
这很有效.有可能做出类似的东西
public int logowanie(int x, int y)
{
...
}
private void button2_Click(object sender, EventArgs e)
{
Thread thread2 = new Thread(new ThreadStart(logowanie(5,5)));
thread2.Start();
//logowanie("xd", "xd", "xd");
}
Run Code Online (Sandbox Code Playgroud)
我刚刚开始使用线程.谢谢
虽然你可以使用ParameterizedThreadStart,我可能只是使用lambda表达式:
private void button2_Click(object sender, EventArgs e)
{
Thread thread2 = new Thread(() => logowanie(5, 5));
thread2.Start();
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果在循环中调用它,则需要小心,因为lambda表达式捕获变量的方式:
// Broken (before C# 5)
foreach (string url in urls)
{
new Thread(() => CrawlUrl(url));
}
// Fixed
foreach (string url in urls)
{
string copy = url;
new Thread(() => CrawlUrl(copy));
}
Run Code Online (Sandbox Code Playgroud)
在某些情况下,这只是一个问题,在这种情况下,您捕获变量并且确实想要捕获当前值,但值得了解.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |