aboutsummaryrefslogtreecommitdiff
path: root/exercises/104_threading.zig
diff options
context:
space:
mode:
authorChris Boesch <[email protected]>2024-04-10 14:18:01 +0000
committerChris Boesch <[email protected]>2024-04-10 14:18:01 +0000
commit2122c477a04f54655f71f78217d845485254cfab (patch)
treea19fcd97871c17aaea548621f9dc7d4b10eecbe5 /exercises/104_threading.zig
parent564916db81e4f748f430528c5366673504221c1b (diff)
parent7732cd7716236dcdf42b205d7983af6b12bba68b (diff)
downloadziglings-2122c477a04f54655f71f78217d845485254cfab.tar.xz
ziglings-2122c477a04f54655f71f78217d845485254cfab.zip
Merge pull request 'Greater gradation of timers built into the threads' (#76) from I75 into main
Reviewed-on: https://codeberg.org/ziglings/exercises/pulls/76
Diffstat (limited to 'exercises/104_threading.zig')
-rw-r--r--exercises/104_threading.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/exercises/104_threading.zig b/exercises/104_threading.zig
index 8aeb683..7865839 100644
--- a/exercises/104_threading.zig
+++ b/exercises/104_threading.zig
@@ -118,7 +118,11 @@ pub fn main() !void {
// In our example, we pass the number of the thread as a parameter.
fn thread_function(num: usize) !void {
std.debug.print("thread {d}: {s}\n", .{ num, "started." });
- std.time.sleep((5 - num % 3) * std.time.ns_per_s);
+
+ // This timer simulates the work of the thread.
+ const work_time = 2 * ((5 - num % 3) - 2);
+ std.time.sleep(work_time * std.time.ns_per_s);
+
std.debug.print("thread {d}: {s}\n", .{ num, "finished." });
}
// This is the easiest way to run threads in parallel.