diff options
Diffstat (limited to 'v_windows/v/examples/concurrency/concurrency.v')
-rw-r--r-- | v_windows/v/examples/concurrency/concurrency.v | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/v_windows/v/examples/concurrency/concurrency.v b/v_windows/v/examples/concurrency/concurrency.v new file mode 100644 index 0000000..92a5517 --- /dev/null +++ b/v_windows/v/examples/concurrency/concurrency.v @@ -0,0 +1,18 @@ +import time + +// Simulate expensive computing using sleep function +fn expensive_computing(id int, duration int) { + println('Executing expensive computing task ($id)...') + time.sleep(duration * time.millisecond) + println('Finish task $id on $duration ms') +} + +fn main() { + mut threads := []thread{} + threads << go expensive_computing(1, 100) + threads << go expensive_computing(2, 500) + threads << go expensive_computing(3, 1000) + // Join all tasks + threads.wait() + println('All jobs finished!') +} |