Forums Register Login

Thread (maintain current thread)

+Pie Number of slices to send: Send
This is a pretty basic problem.

I'm working on a piece of middleware between two large applications that cannot be altered. My little function is the squishy bit in the middle

Application #1: A huge computational powerhouse that has an exposed jar with one function that I use (simulated here by the function runAlgorithm)

Application #2: A desktop UI that calls my middleware and expects a result in the same thread.

Here's some sample code


The problem:
So looking at the example code, main() is basically the UI calling my function. I cannot edit main(), I cannot do anything to main. It calls my function and expects a result

Also runAlgorithm() is the massive server behind the scenes. I cannot edit runAlgorithm, I cannot do anything other than expect a result.

Instead of chaining all my runAlgorithm()'s in a row, it is perfectly fine for me to thread them out in my performFunction() call. My question is what would be (given the sparse details above) the best way to proceed? Should I thread out all of my runAlgorithms() and sleep inside performFunction() until they all respond? Is there a better way?

Any help would be appreciated.

Thanks!
+Pie Number of slices to send: Send
If you want to start ten separate threads to do the ten separate calls to runAlgorithm(), sure, go ahead. But you don't need to do any sleeping while you're waiting for the threads to complete. Just start the threads, then call each of their join() methods.
+Pie Number of slices to send: Send
Try this code - it uses ThreadPool and Future/Callable interfaces,
with this code you dont need to deal with synchronization of threads - it is done automatically for you,
and you can easy control the number of threads in ThreadPool (sometimes too many simultaneous threads is not a good idea).
+Pie Number of slices to send: Send
Even better than my quick-and-dirty suggestion. One day I will have to learn about the Java 5 concurrency classes properly.

Don't count your weasels before they've popped. And now for a mulberry bush related tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 1232 times.
Similar Threads
Standard Deviation
Generics - need help
Q: Math.round(Math.random() + 2.50001; ????
Thread lock doubt
threads + unique random numbers
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 22:27:42.