如果我有一个可以/将在任何给定时间点被多个线程访问的数组,究竟是什么导致它是非线程安全的,以及为确保该数组在大多数情况下是线程安全所采取的步骤情况呢?
我已经在互联网上广泛了解并且发现很少或没有关于这个主题的信息,一切似乎都是特定的场景(例如这个数组,这两个线程通过这两个线程安全地访问,然后开启,等等).我真的希望有人可以回答我在顶部提出的问题,或者是否有人可以指出解释所述项目的好文件.
编辑:在MSDN上查看后,我找到了ArrayList类.使用synchronize方法时,它返回给定列表的线程安全包装器.在列表中设置数据时(即list1 [someNumber] = anotherNumber;)包装器是否自动处理锁定列表,还是需要锁定它?