这只是说明我的问题的示例代码。
假设我有以下课程:
enter code here
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Concurrent;
namespace BoxesA4
{
class Box
{
public double length { get; set; }
public double width { get; set; }
public double height { get; set; }
ConcurrentDictionary<int, string> boxItems = new ConcurrentDictionary<int, string>();
public Box(double length,double width,double height)
{
this.length=length;
this.width = width;
this.height = height;
}
public double volume()
{
return this.length * this.width * this.height;
}
public void add(int index,string item)
{
boxItems.TryAdd(index, item);
}
}
}
主要的:
static void Main(string[] args)
{
Box createBox = new Box(10,10,5,5);
createBox.add(0,"hammer");
createBox.add(1,"saw");
}
在我的主要方法中,我调用 createBox.add(); 并传递必要的论据。在调用我的 add 方法时,我是否需要担心线程安全?我不想让 Box 类 static。如果线程安全是一个问题,我将如何修复我的代码?