我刚才有一个关于Java并发编程的快速问题。 例如, 我有一个NxN矩阵,并且矩阵的每一行都有一个相应的线程,如果每行中的线程之间没有交互,如果多个线程同时访问和修改矩阵的单独行,它是否安全(或正确)? 谢谢!
答案 0 :(得分:2)
如果您只是读取矩阵,它总是安全的。如果您正在进行写操作,但是一个线程只读取和写入它所分配的行,那么它是安全的。只有当你从另一个线程编写的单元格中读取一个线程时,你才需要担心锁定。
答案 1 :(得分:0)
如果你有一个原生的2d数组,而不是一个包装类,那么并发行访问应该没问题。只要你永远不会读/写或写/写到同一个内存位置,你就可以了。
答案 2 :(得分:0)
如果您可以保证没有线程会改变任何其他线程读取或变异的任何元素,并且没有线程会改变矩阵的维度,这应该是安全的。