Using AMI and normal invocations on the same proxy from different threads
Hi,
In my application I am using two threads collecting data from different sensors. The reason to have two threads is different scan periods, i.e. 20Hz and 30Hz. Both threads are using the same callback proxy object to send collected data out.
For some reasons, I decide to use AMI in one thread and synchronous calls in other thread. In some cases it looks like synchronous call gets blocked forever. That is why, before getting deeper in debugging, I would like to ask a couple of questions.
The first is whether my assumption that Ice (in my case it is IceE 1.3.0 on Linux) proxy interfaces are thread safe is correct? The second is whether mixing AMI and synchronous calls from different thread is something bad or it is a provided scenario (if necessary, I can provide more details why I decide to do it this way)?
I would really appreciate any hints about possible reasons for the blocking behavior and maybe suggestions how to fix it. In the past, I've seen similar problem with callbacks which was fixed by increasing the size of thread pools on the client and server. In this case, it does not help.
Thank you,
Andrey Nechypurenko
GE Healthcare