我有一个带有一些方法的静态类,它只接受一个字节数组,解析它并返回一个结构。我需要从许多单独的线程中调用这些方法。我是否需要在方法中使用lock()或某种线程安全性?我无法理解它。
答案 0 :(得分:3)
如果您的方法是reentrant,则不需要任何锁定。
通常,只要多个线程访问共享资源,您就需要锁定。当方法只是从其参数计算某些东西而不访问任何共享资源时,就没有什么可以锁定的。
答案 1 :(得分:0)
是的,lock
阻止多个线程同时访问相同的数据,这通常会导致不一致/不可预测的行为。
答案 2 :(得分:0)
如果您的方法有共享资源,那么您需要同步访问它。在这种情况下,没有共享资源,因此无需锁定任何内容。