What is difference between multiprocessing.Event and multiprocessing.managers.SyncManager.Event. When do I use each? Why two different objects exist?
Same question for other similar objects existing in multiprocessing directly and also in Manager (Lock, etc.)
Unfortunately, the only given answer is not very correct and others wasn’t given.
I looked it up my own, and found that
multiprocessing.Eventcan be used to synch between processes, it’s completely alright.Eventand other objects frommultiprocessing.Managerexist to be able to synchronize things between processes that runs on different machines via sockets under the hood. They also can be used synchronize on single machine, but less efficient for this than just using synch objects frommultiprocessing.synchronize(likeEventandLockand others)