java - 为什么这个类是线程安全的?

标签 java multithreading

enter image description here

如果有

 public synchronized void deletePerson(Person p)
      { mySet.remove();}

那么它也会保持线程安全吗?

最佳答案

此类是线程安全的,因为其中只有一个可变字段 (mySet),它是私有(private),并且对它的所有访问都是同步的

是的,public synchronized void deletePerson(Person p) { mySet.delete();} 仍然会保持此类线程安全

另请注意,对 mySet 的引用不会从此类中转义。这也很重要。

关于java - 为什么这个类是线程安全的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32604216/

相关文章:

java - HttpSession 不会从 JSP 持续到 Servlet

Java 多线程 - 访问 "Locked"对象时到底会发生什么?

java - 为什么我需要 EventQueue 在 java EDT 中启动一个新线程? (JAVA)

c# - 并发多线程读取访问 - 这会导致任何问题吗?

c# - 一次调用多个 Web 服务

java - GWT DataGrid 中可扩展行的简单示例

java - 反转字节顺序/更改字节顺序的命令行

java - 运行我的应用程序的 EntityManager 没有持久性提供程序

java - Couchbase : List available Buckets, 范围和集合可在具有 Java SDK 3 的集群中使用

multithreading - WCF服务和请求排队