Subject | Re: [IBO] Multithreaded application problem |
---|---|
Author | Robert martin |
Post date | 2004-10-27T04:22:20Z |
Hi Jason
I believe that all my threads are creating and using individual sessions as shown, however I will check just in case.
I previously did by initiation in the thread constructor but moved it here so the session was part of the thread (on advise I think). Each thread has its own session and each session is only used in 1 thread.
We are using IBO components in the client side of this APP to port it over and use existing components. IBO objects are in use here for consistency and familiarity (I haven't used the native components much).
Rob Martin
Software Engineer
phone 03 377 0495
fax 03 377 0496
web www.chreos.com
Wild Software Ltd
I believe that all my threads are creating and using individual sessions as shown, however I will check just in case.
I previously did by initiation in the thread constructor but moved it here so the session was part of the thread (on advise I think). Each thread has its own session and each session is only used in 1 thread.
We are using IBO components in the client side of this APP to port it over and use existing components. IBO objects are in use here for consistency and familiarity (I haven't used the native components much).
Rob Martin
Software Engineer
phone 03 377 0495
fax 03 377 0496
web www.chreos.com
Wild Software Ltd
----- Original Message -----
From: Jason Wharton
To: IBObjects@yahoogroups.com
Sent: Wednesday, October 27, 2004 4:06 PM
Subject: RE: [IBO] Multithreaded application problem
Try making it so that the ClientSession owns all the subsequent data access
components (you appear to be doing this, but just review other code that I
don't see here to be sure).
You may also do all object instantiation PRIOR to the execute method when
instantiating the thread instance so that all the creation of components is
done using the main thread instead of the sub-thread.
You might also consider using native IBO components instead of the TDataset
ones to eliminate extra layers of baggage. TIB_Cursor for datasets and
TIB_DSQL for statements.
Jason Wharton
[Non-text portions of this message have been removed]