package batteries
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=1fd7bddce07cf5d244fc9427f7b5e4d4
sha512=c0f2a0fdc8253e0ea999d8d4c58bfbf32b18d251a2e1d9656bf279de5f01a33e9aabac3af4d95f465f8b671e7711ebd37218043face233340a0c11b08fa62f78
doc/batteries.unthreaded/BatConcurrent/index.html
Module BatConcurrentSource
Definition of concurrency primitives.
The light-weight type of a lock, i.e. a construction which may be used to guarantee that a section will not be interrupted by another thread.
This light-weight type is independent of the underlying locking mechanism and can be used if you do not know whether your code will run with vmthreads, Posix threads, coThreads, etc.
Create a lock from a pair of locking/unlocking functions
synchronize locker f returns a function f' which behaves as f but whose executions are protected by one lock obtained from locker. The same lock will be reused for all subsequent uses of f'.
For instance, synchronize Mutex.make f is a new function whose executions will by synchronized by a new lock. Conversely, synchronize (const my_lock) f is a new function whose executions will be synchronized by an existing lock my_lock.
Specialized version of synchronized.
sync lock f behaves as synchronize (const lock) f but slightly faster