在以下上下文中,Array.Contains线程是否安全。
声明静态数组并使用函数中的4个元素进行初始化。
Static validRotations() As Integer = {0, 90, 180, 270}
然后只能使用相同函数中的validRotations.Contains(rotation)访问它。
随时可以从许多不同的线程调用该函数。
答案 0 :(得分:2)
通常,不可变结构是线程安全的。
如果数据永远不会改变,您可以从多个线程安全地访问它。
多线程问题仅在您更改数据(更新/添加)时发生。
答案 1 :(得分:1)
如果您没有修改阵列(在您的情况下,您不是这样),这将是安全的。
将其编译为类中的本地静态字段,并在使用之前通过任何方法进行初始化。由于它没有被改变,只是读取,它基本上只是并行执行数组读取,这是安全的。