1 | static class LockedVar<A> implements IVar<A> { |
2 | A v; // you can access this directly if you use one thread |
3 | transient Lock lock = lock(); |
4 | |
5 | *() {} |
6 | *(A *v) {} |
7 | |
8 | public void set(A a) { |
9 | lock lock; |
10 | v = a; |
11 | } |
12 | |
13 | public A get() { lock lock; ret v; } |
14 | public bool has() { lock lock; ret v != null; } |
15 | public void clear() { lock lock; v = null; } |
16 | |
17 | toString { ret str(get()); } |
18 | } |
Began life as a copy of #1003550
download show line numbers debug dex old transpilations
Travelled to 12 computer(s): bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1019343 |
Snippet name: | class LockedVar - thread-safe variable (same as Var), but using a ReentrantLock |
Eternal ID of this version: | #1019343/2 |
Text MD5: | c9a0a7063eaeeeb2855c791aaa01819f |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2018-11-03 12:59:29 |
Source code size: | 414 bytes / 18 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 305 / 842 |
Version history: | 1 change(s) |
Referenced in: | [show references] |