synchronized

    1热度

    2回答

    为什么在我的代码中有一个竞争条件,当所有帐户同步? class Transfer implements Runnable { Konto fromAccount; Konto toAccount; Integer amount; public void run() { synchronized (fromAccount) { i

    0热度

    1回答

    我有一个风暴拓扑结构,可以将一些来自Kafka队列的数据写入到Cassandra DB中。该程序是一个多线程的程序。为了方便卡桑德拉分贝插入,我有这个作为我DBUtils: public DBUtils() { if(session == null) { session = CassandraUtil.getInstance().getSession(); LOG

    5热度

    2回答

    我已经写了一些多线程代码在java和同步的方法,改变了变量,但它不同步我的代码,我仍然得到随机值。这里是我的代码: public class Main { public static void main(String[] args) throws Exception { Resource.i = 5; MyThread myThread = new MyThrea

    0热度

    1回答

    我试图修复一段我写的代码,目前有竞争条件。在这样做时,我需要将while循环的条件放在​​块中,但是我不想同步整个while块,因为这会使资源的其他线程挨饿,而这些线程都是他们需要的。我无法找到一个合理的方式,在没有重复的情况下或者在略微模糊控制流的地方进行。下面的问题是代码的要点: while ((numRead = in.read(buffer)) != -1) { out.writ

    4热度

    2回答

    所以我一直在一个简单的等待/在Java中,由于某种原因我一直没能得到它的正常运行通知的例子。如果有人能够看到可能是什么问题,将非常感谢! class producer implements Runnable { StringBuffer sb; producer() { sb=new StringBuffer(""); } public voi

    1热度

    1回答

    所以在Java中,我知道你可以使用对象的所谓“固有锁定”来创建互斥区域,并确保内存可见性。 Java使得它特别容易隐含在this对象的一些语法糖的内部锁锁,如: public class Foo{ public synchronized doFoo(){ //doFoo is executed in an implicit synchronized block /

    1热度

    2回答

    我想了解Java中的“synchronized block”。我写了非常基本的代码,看看如果我锁定并更改thread_1中的对象并通过另一种方法从另一个thread_2(竞争条件)访问它,会发生什么情况。但是我很难理解这种行为,因为我期待Thread_1会先改变值,然后Thread_2会访问新值,但结果并不如我预期的那样。 public class Example { public stati

    -1热度

    3回答

    在this java tutorial中有一些代码显示了一个示例来说明​​关键字的使用。我的观点是,为什么我不应该写的是这样的: public class MsLunch { private long c1 = 0; private long c2 = 0; //private Object lock1 = new Object(); //private O

    3热度

    1回答

    我发现这个实现的可观察: public class ObservableObject extends Observable { private static ObservableObject instance = new ObservableObject(); public static ObservableObject getInstance() { retur

    0热度

    1回答

    USECASE变量:旋转凭证的数据存储区 我想要什么: 当updateCredentials被调用时,它会等待,直到所有线程完成获取证书(通过同步)将凭证更新为新凭证。 我不想要调用doSomeQuery使对方等待获取凭证。这个对象可以在多个线程中使用,而且浪费了等待时间。 有没有一种方法/模式来实现这一目标?下面的代码示例实现了第1项而不是项目2 private Object credentia