diff options
| author | gingerBill <bill@gingerbill.org> | 2022-01-19 16:35:50 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-01-19 16:35:50 +0000 |
| commit | b5754b6ed9082bb729ea5d18a926c723e52f377f (patch) | |
| tree | 13b876413ba0fa8d7654cd0f448080f62c364879 /core/sync/sync2 | |
| parent | 07ee23f817ebac33a8b4877bd40d1597734108ad (diff) | |
Print examples correctly
Diffstat (limited to 'core/sync/sync2')
| -rw-r--r-- | core/sync/sync2/extended.odin | 71 |
1 files changed, 34 insertions, 37 deletions
diff --git a/core/sync/sync2/extended.odin b/core/sync/sync2/extended.odin index d6a99fe04..deb48a22d 100644 --- a/core/sync/sync2/extended.odin +++ b/core/sync/sync2/extended.odin @@ -67,44 +67,41 @@ wait_group_wait_with_timeout :: proc(wg: ^Wait_Group, duration: time.Duration) - -// A barrier enabling multiple threads to synchronize the beginning of some computation /* - * Example: - * - * package example - * - * import "core:fmt" - * import "core:sync" - * import "core:thread" - * - * barrier := &sync.Barrier{} - * - * main :: proc() { - * fmt.println("Start") - * - * THREAD_COUNT :: 4 - * threads: [THREAD_COUNT]^thread.Thread - * - * sync.barrier_init(barrier, THREAD_COUNT) - * defer sync.barrier_destroy(barrier) - * - * - * for _, i in threads { - * threads[i] = thread.create_and_start(proc(t: ^thread.Thread) { - * // Same messages will be printed together but without any interleaving - * fmt.println("Getting ready!") - * sync.barrier_wait(barrier) - * fmt.println("Off their marks they go!") - * }) - * } - * - * for t in threads { - * thread.destroy(t) // join and free thread - * } - * fmt.println("Finished") - * } - * - */ +A barrier enabling multiple threads to synchronize the beginning of some computation + +Example: + package example + + import "core:fmt" + import "core:sync" + import "core:thread" + + barrier := &sync.Barrier{} + + main :: proc() { + fmt.println("Start") + + THREAD_COUNT :: 4 + threads: [THREAD_COUNT]^thread.Thread + + sync.barrier_init(barrier, THREAD_COUNT) + + for _, i in threads { + threads[i] = thread.create_and_start(proc(t: ^thread.Thread) { + // Same messages will be printed together but without any interleaving + fmt.println("Getting ready!") + sync.barrier_wait(barrier) + fmt.println("Off their marks they go!") + }) + } + + for t in threads { + thread.destroy(t) // join and free thread + } + fmt.println("Finished") + } +*/ Barrier :: struct { mutex: Mutex, cond: Cond, |