Java 螺纹安全性:对于这种情况,最推荐的方法是什么?

Java 螺纹安全性:对于这种情况,最推荐的方法是什么?,java,android,thread-safety,queue,synchronize,Java,Android,Thread Safety,Queue,Synchronize,我有一个类,只实例化一次。此类有一个异步处理队列的方法。而且这个方法必须是线程安全的。 我读到了一些可能性,并决定使用synchronize作为继续进行的方法。使用sync块或使用synchronize关键字同步整个方法 我做了正确的选择吗? 如果想详细验证这一点,我还可以提供一些代码 我做了正确的选择吗 你的选择很好。除非您正在处理一种可能会发生大量锁争用的情况,否则使用哪种(正确的)方法是非常重要的 如果想详细验证这一点,我还可以提供一些代码 如果您希望有人检查您的代码,则将问题发布到网站上

我有一个类,只实例化一次。此类有一个异步处理队列的方法。而且这个方法必须是线程安全的。 我读到了一些可能性,并决定使用synchronize作为继续进行的方法。使用sync块或使用synchronize关键字同步整个方法

我做了正确的选择吗? 如果想详细验证这一点,我还可以提供一些代码

我做了正确的选择吗

你的选择很好。除非您正在处理一种可能会发生大量锁争用的情况,否则使用哪种(正确的)方法是非常重要的

如果想详细验证这一点,我还可以提供一些代码


如果您希望有人检查您的代码,则将问题发布到网站上会更合适。

使用同步块会更灵活,因为它可以竞争任何对象(通常是成员变量)的关联锁

请尝试以下链接:


Plz提供更精确答案的代码。

该单例类中的方法是否修改单例对象的任何状态?不止一个。排队是一回事,有些柜台也是单身人士的一部分。好吧,看来我的决定是对的。在同步之前,我尝试了ReentrantLock。所以,我将使用sync。好的,我将使用sync,我不需要处理任何线程或管理任何线程池,我只需要确保,某些代码行不是由一个异步线程处理的,而ui线程正在处理它们,反之亦然。