我正在玩线程。我有一个问题,我认为这是一个非常基本的问题:
我有一个班级:
Class Message {
public WriteMsg(string msg)
{
Console.Writeline(msg);
}
}
我创建了这个类的对象
Message msg = new Message();
现在我创建了十个线程并将此消息对象传递给十个线程执行的函数。每个都将其线程索引传递给writemsg,writemsg将写入stdout。我编写并测试了应用程序及其编写线程索引1到10。
正如您所看到的,我没有实现任何类型的同步。如果该类只执行上述功能,那么在访问线程中的对象时是否需要锁定机制?
答案 0 :(得分:0)
如果它是修改或读取非原子对象的方法,那么这取决于你正在做什么。对于你的情况,没有必要。
答案 1 :(得分:0)
如果线程正在使用共享变量,则需要在线程之间进行同步 在您的简单示例中,没有共享变量。所以不需要同步