java - 多个线程同时共享同一个函数

标签 java multithreading thread-safety

例如,如果我们创建 3 个线程 T1、T2 和 T3,它们分别调用相同的函数或过程,那么如果我们调用它们一段时间 T1.start() T2.start( ) T3.start() 有效吗??或者我们需要同步它们??

最佳答案

您不同步函数,而是同步它们对资源的访问。

如果任何函数修改了公共(public)资源 * 而其他函数需要访问它,无论是读取还是写入,您都需要同步对资源的访问。否则,不需要添加同步。


* 资源可以是静态或非静态成员变量、内存中的对象、操作系统对象(如文件或套接字)、集合,以及等等。

关于java - 多个线程同时共享同一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18840063/

相关文章:

java - GWT 2.0 Chrome 开发者插件的问题

multithreading - 即时通讯服务器设计

java - RocksDB WriteBatch 线程安全吗?

asp.net-mvc - MVC、DbContext 和多线程

java - 在使用 Apache FOP 创建的 PDF 中添加索引页

java - AlarmManager 未触发 onReceived

java - hibernate更新查询复合键示例

multithreading - 高速缓存一致性操作期间处理器是否停止

java - 来自 java.util.concurrent 的线程

c# - 多个线程访问一个返回方法,带锁是线程安全的吗?