|
|
- enlfq
- =====
-
- A simple NIF lock-free Queue using the library: [moodycamel::concurrentqueue](https://github.com/cameron314/concurrentqueue/tree/8f7e861dd9411a0bf77a6b9de83a47b3424fafba)
-
- #### moodycamel::ConcurrentQueue
-
- An industrial-strength lock-free queue for C++.
-
- **Features**:
-
- * Knock-your-socks-off blazing fast performance.
- * Single-header implementation. Just drop it in your project.
- * Fully thread-safe lock-free queue. Use concurrently from any number of threads.
- * C++11 implementation -- elements are moved (instead of copied) where possible.
- * Templated, obviating the need to deal exclusively with pointers -- memory is managed for you.
- * No artificial limitations on element types or maximum count.
- * Memory can be allocated once up-front, or dynamically as needed.
- * Fully portable (no assembly; all is done through standard C++11 primitives).
- * Supports super-fast bulk operations.
- * Includes a low-overhead blocking version (BlockingConcurrentQueue).
- * Exception safe.
-
-
- Build
- -----
-
- $ rebar3 compile
-
-
- Using
- -----
-
- ```erlang
-
- {ok, Q} = enlfq:new().
-
- T = {any, term, [], #{}, 1}.
-
- true = enlfq:push(Q,T).
-
- {ok, T} = enlfq:pop(Q).
-
- empty = enlfq:pop(Q).
- ```
|