java - Java中的锁对象需要是静态的吗?

标签 java multithreading

我知道在 C# 中,当您有一个对象要用作多线程锁时,您应该在类内部将其声明为静态,该类实例将在单独的线程中运行。

这是否也适用于 Java?一些在线示例似乎将锁对象声明为最终...

编辑: 我有一个资源,我想限制一次只能访问一个线程。扩展 Thread 的类将用于创建多个实例并同时启动。我应该使用什么?

谢谢。

最佳答案

取决于使用它们的上下文。如果您想要每个实例的锁,请离开 static 。如果您想要每个类的锁,请使用 static。进一步确实保持它 final

关于java - Java中的锁对象需要是静态的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2129801/

相关文章:

java - 敌人破坏 slick2d

c# - 在 C# 中启动外部应用程序时是否使用线程

java - BlockingQueue 对于实现生产者/消费者系统有用吗?

java - 通知和通知所有显示等待多个线程的奇怪行为

java - 无法访问类型的封闭实例。错误,任何人都可以帮助我,我一直在尝试改变一切,但没有结果

java - Freemarker 获取当前时间戳

java - 打印一个超出范围的数字

java - 如何在构造函数中获取资源?

java - ArrayDeque 中的方法 clear()

.net - 是否使用 Sleep(),如果 Sleep() 不好,正确的方法是什么?