Alex Rivera | Logout

How to make a Java thread wait for another thread's output?

Asked 2008-11-14T07:29:37.000
139

I'm making a Java application with an application-logic-thread and a database-access-thread. Both of them persist for the entire lifetime of the application and both need to be running at the same time (one talks to the server, one talks to the user; when the app is fully started, I need both of them to work).

However, on startup, I need to make sure that initially the app thread waits until the db thread is ready (currently determined by polling a custom method dbthread.isReady()). I wouldn't mind if app thread blocks until the db thread was ready.

Thread.join() doesn't look like a solution - the db thread only exits at app shutdown.

while (!dbthread.isReady()) {} kind of works, but the empty loop consumes a lot of processor cycles.

Any other ideas? Thanks.

Edit
Report

1 Answer

2

You could read from a blocking queue in one thread and write to it in another thread.

answered 2013-05-04T15:16:25.763

Your Answer