You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 6, 2021. It is now read-only.
Following on to issue #109, I figured I should look to see if these same thread safety issues were in other parts of this library. Sure enough, the first two classes I looked at, UtilEmitter and UtilAckTimeoutRegistry, both have these same kinds of thread safety issues. They do use Concurrent* collections in a lot of places, but that alone does not make them thread safe. For example, this seems to be common:
This is not thread safe. One thread could preempt after the obj == null and then a second thread could come through and do the put. The first thread would then resume and also do the put.
It appears this library needs to be gone through class by class to address thread safety. This is a serious issue that needs to be addressed ASAP if this library is to be used for projects that are highly concurrent. Trading apps come to mind (lots and lots of quotes coming in).
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Following on to issue #109, I figured I should look to see if these same thread safety issues were in other parts of this library. Sure enough, the first two classes I looked at,
UtilEmitter
andUtilAckTimeoutRegistry
, both have these same kinds of thread safety issues. They do useConcurrent*
collections in a lot of places, but that alone does not make them thread safe. For example, this seems to be common:This is not thread safe. One thread could preempt after the
obj == null
and then a second thread could come through and do the put. The first thread would then resume and also do the put.It appears this library needs to be gone through class by class to address thread safety. This is a serious issue that needs to be addressed ASAP if this library is to be used for projects that are highly concurrent. Trading apps come to mind (lots and lots of quotes coming in).
The text was updated successfully, but these errors were encountered: