1234567891011121314151617181920212223242526272829303132333435363738394041 |
- discard """
- output: '''0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8'''
- sortoutput: true
- """
- import threadpool, locks
- var echoLock: Lock
- initLock echoLock
- proc f(a: openArray[int]) =
- for x in a:
- withLock echoLock:
- echo x
- proc f(a: int) =
- withLock echoLock:
- echo a
- proc main() =
- var a: array[0..9, int] = [0,1,2,3,4,5,6,7,8,9]
- parallel:
- spawn f(a[0..2])
- #spawn f(a[16..30])
- var i = 3
- while i <= 8:
- spawn f(a[i])
- spawn f(a[i+1])
- inc i, 2
- # is correct here
- main()
|