Multiple Threads

andyp05

Member
We are running an Asta server using DOA components. Each user session has it's own OracleSession with ThreadSafe set to True and it's own query components. One user per one datamodule with a session on it. We never allow calls from one thread to use another threads sessions.

However, if we set ThreadSafe to False, the servers constantly lockup. So, we set it to True and it runs better. Our problem now is that if one session is running a long query or if a session is waiting on a lock, the other threads stop executing. We have talked to Asta support and they do not know how to explain that. They say that the other threads should continue to run.

Any suggestions would be appreciated.

Thanks in advance.

Andy
 
Different session instances will only lock each other during logon and logoff. They will not lock each other when querying (or any other activity). Therefore I see only 2 possible explanations:
  1. The session instances are actually the same, and database access is serialized.
  2. The different sessions block each other due to locks in the database.
Explanation 1 would also explain lockups when ThreadSafe is False, since multiple threads access the same (unsafe) session.
 
Back
Top