synchronized

    1热度

    1回答

    我有很多来自客户端和一个POST请求的异步GET调用。 我的servlet获得POST请求后,我想以其他方式处理即将发生的GET调用。这里是我的尝试,但未能: public class MyServlet { private static volatile proceed = true; public void doGet(req, resp) { ...

    3热度

    5回答

    我的一个java 静态方法是由多个线程访问。我是否需要通过同步关键字明确地同步该方法? 有时回我在一本书其中指出 静态方法隐含线程安全的方法是不反对 具体 读取。 众所周知的例子是Singleton实现。 其中getInstance()是静态的,我们是否需要将它标记为synchronized? public **synchronized** static Logger getInstance()

    0热度

    2回答

    我正在修复findbug提出的 Lazy initialization of "static" fields should be "synchronized"建议的问题。 This链接暗示要么我必须使字段变量volatile或使初始化块​​。哪种方法更好?每种方法的优缺点是什么?

    2热度

    2回答

    我们可以同步一个类中的函数,或者我们可以在线程中锁定它的对象,以在对象上创建线程安全。 class DBresource { synchronized public void dosomething() throws InterruptedException { ... ... } } OR class MyThread exte

    0热度

    1回答

    我确实使用3 docker containers设置了带有3个节点的Galera cluster。要求当数据从donor节点同步到其他节点时,基于同步节点上的触发器wsrep_notify_cmd或wsrep_sst_method,还需要将数据填充到该节点上相应的Redis队列。 问题是只有在启动集群时才会调用这2个触发器。有日志说,当一个节点加入群集时,这两个触发器被调用。但是,当我试图修改模式

    0热度

    1回答

    嗨我有一个java程序多线程查询HSQL数据库。我从查询中得到一些非常奇怪的结果,我的猜测是数据库没有设置为同时处理多个查询。 (这甚至可以在数据库中?)。 然后我想要做的是排队任何数据库查询。 据我可以告诉这是在我的数据库对象中做功能时使用synchronize关键字完成的? 我的数据库对象看起来是这样的: public class Database(){ public Databas

    1热度

    1回答

    我正在实现一个带有三个类的虚拟程序,以更直观地参考Future的工作方式。我的问题是,有时程序将被锁定在同步方法,它不会继续。我找不到原因。有人能够发现为什么没有一个战士会打印“我赢了”的路线吗?当块 我的电流输出: Fighter1 Fighter1已进入同步方法 Fighter2 Fighter2已进入同步方法 的代码如下。 主要类: import java.util.concurrent.C

    0热度

    2回答

    在刚刚添加的同步到大多数方法的时刻,因为看起来没有它,这些方法不是线程安全的。还有什么我需要实现以确保它是线程安全的。 此外,有没有更好的方式去做这件事。当时只有一个线程可以同时使用循环队列,这似乎有点低效。 class CircularQueue<T> implements Iterable<T>{ private T queue[]; private int head, t

    -1热度

    1回答

    我有一种方法,一次只能由一个线程访问。即使线程使用不同的对象,一次只能有一个线程访问该方法。 我可以在Java中使用什么来实现这一目标? 我认为'synchronized'关键字将允许多个线程一次访问该方法,如果他们使用不同的对象。 我相信与重入锁相同。

    0热度

    2回答

    我是线程的新手,特别是​​关键字。 我知道如果一个线程的状态改变为BLOCKED,如果它试图访问另一个线程已经拥有该锁的同步块。 参考: synchronized (objA){ objA.methodA(); } //some code objA.methodB(); 我的问题是另一个线程是否可以通过独立的其他方法(在methodB()本示例)改变对象objA。或者拥有锁