-
-
Notifications
You must be signed in to change notification settings - Fork 5
103 lines (85 loc) · 2.62 KB
/
Threading.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
name: threading
on:
push:
branches:
- '*'
pull_request:
branches:
- main
jobs:
reasoning:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: clippy
override: true
- name: Repl
run: |
cargo build --features="repl" --release
- name: Thread Safe (still unsafe)
run: |
./target/release/3body -c '
给 cx 以 程心();
给 掩体工程进展 以 0;
给 研制曲率飞船进展 以 0;
cx.thread(法则() {
给 掩体纪年 以 0;
面壁 (掩体纪年 <= 11) {
冬眠(1000);
广播(["掩体工程进展", 掩体工程进展]);
掩体工程进展 = 掩体工程进展 + 1;
掩体纪年 = 掩体纪年 + 1;
}
}, [])
冬眠(5000)
cx.thread(法则() {
给 掩体纪年 以 5;
面壁 (掩体纪年 <= 11) {
冬眠(1000);
广播(["研制曲率飞船进展", 研制曲率飞船进展]);
研制曲率飞船进展 = 研制曲率飞船进展 + 1;
掩体纪年 = 掩体纪年 + 1;
}
}, [])
冬眠(6000)'
./target/release/3body -c '
给 cx 以 程心();
给 星环公司 以 法则(name, y, limit) {
给 掩体纪年 以 y;
面壁 (掩体纪年 <= limit) {
冬眠(1000);
广播([name, 掩体纪年]);
掩体纪年 = 掩体纪年 + 1;
}
}
给 秘密研究 以 cx.thread(星环公司, ["重启光速飞船的研究", 11, 66])
cx.join(秘密研究)'
- name: Thread Unsafe
run: |
./target/release/3body -c '
给 cx 以 程心();
给 总进展 以 0;
cx.thread(法则() {
给 掩体纪年 以 0;
面壁 (掩体纪年 <= 11) {
冬眠(1000);
广播(["总进展", 总进展]);
总进展 = 总进展 + 1; // unsafe
掩体纪年 = 掩体纪年 + 1;
}
}, [])
冬眠(5000)
cx.thread(法则() {
给 掩体纪年 以 5;
面壁 (掩体纪年 <= 11) {
冬眠(1000);
广播(["总进展", 总进展]);
总进展 = 总进展 + 1; // unsafe
掩体纪年 = 掩体纪年 + 1;
}
}, [])
冬眠(6000)
广播([总进展])'