blockchain-link
Version:
Link - The Blockchain File Sharing Protocol
29 lines (23 loc) • 523 B
text/coffeescript
class ThreadBarrier
constructor: ( , ) ->
join: (args...)->
--
if < 1
args...
class Semaphore
constructor: ->
= []
= false
acquire: (block) ->
if
.push block
else
= true
block()
release: ->
if .length > 0
.shift()()
else
= false
exports.ThreadBarrier = ThreadBarrier
exports.Semaphore = Semaphore