diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2021-02-28 17:18:03 +0700 |
---|---|---|
committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2021-02-28 17:18:03 +0700 |
commit | ee9b8fc921f48dc893808e1c9dbfbef321aa362c (patch) | |
tree | 0d0a5247b139ba68d2c2aa2d94e1d631476dbc62 /lang/zig/tls.zig | |
parent | 2b91f9554b326aea138bd8a0acbfaa10d9ad59aa (diff) | |
download | cp-ee9b8fc921f48dc893808e1c9dbfbef321aa362c.tar.gz |
[lang/zig] Learn some Zig
Diffstat (limited to 'lang/zig/tls.zig')
-rw-r--r-- | lang/zig/tls.zig | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lang/zig/tls.zig b/lang/zig/tls.zig new file mode 100644 index 0000000..b47b17c --- /dev/null +++ b/lang/zig/tls.zig @@ -0,0 +1,22 @@ +const assert = std.debug.assert; +const std = @import("std"); +const spawn = std.Thread.spawn; + +threadlocal var x: i32 = 1234; + +test "thread local storage" { + const thread1 = try spawn({}, testTls); + defer thread1.wait(); + + const thread2 = try spawn({}, testTls); + defer thread2.wait(); + + // Main thread + testTls({}); +} + +fn testTls(context: void) void { + assert(x == 1234); + x += 1; + assert(x == 1235); +} |