我正在努力了解多线程。
对于简单的任务,我发现最简单的方法是这样做:
new Thread(delegate()
{
Console.Writeline("doing stuff here");
}).Start();
new Thread(delegate()
{
Console.Writeline("doing other stuff here");
}).Start();
我想知道的是,如果我在我的两个线程中调用一个方法,这会导致冲突吗:
new Thread(delegate()
{
dostuff();
}).Start();
new Thread(delegate()
{
dostuff();
}).Start();
private void dostuff()
{
Console.WriteLine("Do Stuff Here");
}
最佳答案
它只会在您共享变量时导致冲突,例如 dostuff
方法中的那些线程之间的静态类或全局类。
只有该方法的所有局部变量都是安全的,您可能共享的变量必须使用锁来防止数据竞争。
此外,您的控制台是一个共享资源,如果您希望它被正确排序,则需要协调写入。
关于c# - 了解多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16435862/