This forum has been archived. Please start a new discussion on GitHub.

Single threaded approach


Our initial design was to have single thread per adapter and asynchronous programming model, and therefore there wasn't be any reason to use locks cause if adapter running within one thread it's guaranteed that all AMD calls cannot be interrupted by any other threads that can change the state of object and there was no need in the locks.

After migrating to use Ice-3.3.0 we faced quite big problem, we couldn't find a way to enforce that all external invocations and responses will be processed by a single thread per adapter.

If you could suggest some way to configure the Ice to support this single threaded model it will help a lot.

Thank you in advance.


  • benoit
    benoit Rennes, France

    It's not clear to me why you think Ice 3.3.0 behavior is different from previous Ice versions in this respect. The Ice server thread pool default configuration is still to use a single thread to dispatch calls to Ice objects. Could you detail a little more the use cases where it used to work before and not anymore?

    Please also specify which platforms and language mappings you're using.