Method calls are just calls :) They are executed in the context of the
calling thread. There will be no queueing, or serialising, unless you add
some inter-thread signalling inside the method.
Since the LockList call protects the shared data and so serialises access by
signaling any other threads attempting to get in to block, this call would
seem to be safe to call from multiple threads. Whether it is efficient, or
whether some optimization might be made to the design, is another matter,
but, IMHO, you can call this fine from many peer threads without any
If I was doing this 'broadcast' type of thing, I would probably queue the
events to a 'send thread' that could perform the list iteration by itself.
This should reduce the amount of list-locking, since the send-thread may
find several events in it's input queue & could send them all at once, in
one iteration. This bechaviour could be 'encouraged' by lowering the
priority of the send thread.