Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7076153
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T06:15:51+00:00 2026-05-28T06:15:51+00:00

I have some troubles using wait() and notify() . I need to have a

  • 0

I have some troubles using wait() and notify(). I need to have a kind of rendez-vous.

Here is the thing, in a small piece of code:

class A {
    private Rdv r;

    public A(Rdv r) {
        this.r = r;
    }

    public void someMethod() {
        synchronized(r) {
            r.wait();
        }

        // ***** some stuff never reached*****
    }
}

class Rdv { 
    private int added;
    private int limit;

    public Rdv(int limit) {
        this.added = 0;
        this.limit = limit;
    }

    public void add() {
        this.added++;

        if(this.added == this.limit) {
            synchronized(this) {
                this.notifyAll();
            }
        }
    }
}

class Main {
    public static void main(String[] args) {
        Rdv rdv = new Rdv(4);

        new Runnable() {
            public void run() {
                A a = new A(rdv);
                a.someMethod();
            }
        }.run();

        rdv.add();
        rdv.add();
        rdv.add();
        rdv.add();
    }
}

The idea is to wait until 4 threads tell “hey, i’m done” before to run the end of someMethod().
But the wait() lasts forever, despite of the notifyAll().

I don’t get how

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T06:15:51+00:00Added an answer on May 28, 2026 at 6:15 am

    wait() and notify() are not meant to be used directly but rather are primitives that better libraries use for low-level synchronization.

    You should use a higher-level concurrency mechanism, such as CountDownLatch. You would want to use a CountDownLatch with a value of 4. Have each of the threads call the countDown() method of the latch, and the one you want to wait to call await().

    private CountDownLatch rendezvousPoint = new CountDownLatch(4);
    
    //wait for threads
    rendezvousPoint.await();
    
    //do stuff after rendezvous
    
    //in the other 4 threads:
    rendezvousPoint.countDown();
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have some troubles when using javascript code for Facebook invite friends. Details: User
I have trouble using sed. I need to replace some lines in very deprecated
I have some troubles with positioning my label/password field. With this code they both
I have troubles using the java ServiceLoader in a NetBeans module application. Here is
I'm having some troubles with using the std::sort algorithm here. I was reading that
I have experienced some troubles when using the IIS server at my workstation with
I'm having nice first days using Yii but have some troubles with getting things
I have some troubles re-writing this query to using joins instead of the two
I have some troubles with memory leaks in JavaScript. I'm using the Leak Memory
I'm having some trouble using constraints correctly. I have three tables, 'item', 'store' and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.