OBJECTX® Thread Safety Summary This technical bulletin answers multi-threading questions about RUMBA OBJECTX, Pro controls.
Thread Pooling
Q: What is thread pooling?
A: In an internet application, you may have thousands of users, each requiring access to their own host session. Creating hundreds of threads, let alone thousands, is not practical; Windows NT can't handle that many threads. Thread pooling creates a relatively small number of threads (tens of threads), typically based on the number of processors. Controls are distributed among the threads, with multiple controls being assigned to each thread.
Building Applications
Q: Is there any advantage to registering display controls with Microsoft Transaction Server ?
A: No, display controls have no way of backing out data that has already been sent to the host. Q: Does this mean that the display controls cannot participate in a transaction?
A: No, IIS 4.0 provides transacted ASPs. In the ASP’s OnTransactionAbort function, code may be written to drive the host application to reverse the changes. The OnTransactionAbort function is called when the transaction has failed and database changes are backed out.
Q: How do the terms "multi-instance" and "multi-threaded" apply to the browser environment?
A: To be perfectly safe, each instance of the browser should only have one instance of a
RUMBA Host Pro control.
Q: How does persistence object come into play here?
A: Persistence object works by keeping the display control running even when the browser tells it to shut down. This means that there may be many display controls running even though only one is visible on the current page. Persistence creates a multi-instance situation, meaning the RUMBA Host Pro controls are not completely safe.
Q: But it seems to be working OK to use multiple instances of RUMBA Host Pro display controls in a browser?
A: For client-side web applications with only one control per page and no persistence, these controls are perfectly safe. With persistence, your risk goes up, but you can probably get away with it, these controls mostly work.
Q: Can I use RUMBA Host Pro display controls for server-side applications?
A: No. On a server-side web application you will definitely encounter multi-tasking/multi-instance issues with the RUMBA Host Pro display controls.
Old KB# 36326