Question

I'm writing a multi-threaded application, where there is a main thread which distributes tasks to the worker threads. According to the task, a worker thread creates a connection, by using a global occi environment. When a worker thread completes its task, it closes the connection (I'm sure, there is no exception thrown while termination).

My problem is that after a while(sometimes 5 mins, sometimes 5 hours) the threads cannot get connection from the environment, and they get blocked there.

What can be the problem?

Was it helpful?

Solution

I guess I didn't identify the problem correctly. I thought the threads get blocked, but actually they didn't, they simply exited there unexpectedly :). Problem solved.

OTHER TIPS

Have you considered using a thread pool? Then you don't need to close the connection every time the work is done. Setting up/closing the database connection is also quite expensive, i think.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top