mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-18 23:11:36 +00:00
progress with futures
This commit is contained in:
17
tests/parallel/tflowvar.nim
Normal file
17
tests/parallel/tflowvar.nim
Normal file
@@ -0,0 +1,17 @@
|
||||
discard """
|
||||
output: '''foobarfoobarbazbearbazbear'''
|
||||
cmd: "nimrod $target --threads:on $options $file"
|
||||
"""
|
||||
|
||||
import threadpool
|
||||
|
||||
proc computeSomething(a, b: string): string = a & b & a & b
|
||||
|
||||
proc main =
|
||||
let fvA = spawn computeSomething("foo", "bar")
|
||||
let fvB = spawn computeSomething("baz", "bear")
|
||||
|
||||
echo(^fvA, ^fvB)
|
||||
|
||||
main()
|
||||
sync()
|
||||
31
tests/parallel/tsysspawn.nim
Normal file
31
tests/parallel/tsysspawn.nim
Normal file
@@ -0,0 +1,31 @@
|
||||
discard """
|
||||
output: '''4
|
||||
8'''
|
||||
cmd: "nimrod $target --threads:on $options $file"
|
||||
"""
|
||||
|
||||
import threadpool
|
||||
|
||||
var
|
||||
x, y = 0
|
||||
|
||||
proc p1 =
|
||||
for i in 0 .. 10_000:
|
||||
discard
|
||||
|
||||
atomicInc x
|
||||
|
||||
proc p2 =
|
||||
for i in 0 .. 10_000:
|
||||
discard
|
||||
|
||||
atomicInc y, 2
|
||||
|
||||
for i in 0.. 3:
|
||||
spawn(p1())
|
||||
spawn(p2())
|
||||
|
||||
sync()
|
||||
|
||||
echo x
|
||||
echo y
|
||||
9
tests/parallel/tsysspawnbadarg.nim
Normal file
9
tests/parallel/tsysspawnbadarg.nim
Normal file
@@ -0,0 +1,9 @@
|
||||
discard """
|
||||
line: 7
|
||||
errormsg: "'spawn' takes a call expression"
|
||||
cmd: "nimrod $target --threads:on $options $file"
|
||||
"""
|
||||
|
||||
import threadpool
|
||||
|
||||
spawn(1)
|
||||
Reference in New Issue
Block a user