例如,如果我们创建 3 个线程 T1、T2 和 T3,它们分别调用相同的函数或过程,那么如果我们调用它们一段时间 T1.start() T2.start( ) T3.start()
有效吗??或者我们需要同步它们??
最佳答案
您不同步函数,而是同步它们对资源的访问。
如果任何函数修改了公共(public)资源 * 而其他函数需要访问它,无论是读取还是写入,您都需要同步对资源的访问。否则,不需要添加同步。
* 资源可以是静态或非静态成员变量、内存中的对象、操作系统对象(如文件或套接字)、集合,以及等等。
关于java - 多个线程同时共享同一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18840063/