mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
sync: add sync.thread_id() u64 {
(#13810)
This commit is contained in:
parent
2e963e36ac
commit
ce576d01c4
7
vlib/sync/thread_default.c.v
Normal file
7
vlib/sync/thread_default.c.v
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
module sync
|
||||||
|
|
||||||
|
fn C.pthread_self() usize
|
||||||
|
|
||||||
|
pub fn thread_id() u64 {
|
||||||
|
return u64(C.pthread_self())
|
||||||
|
}
|
22
vlib/sync/thread_test.v
Normal file
22
vlib/sync/thread_test.v
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import sync
|
||||||
|
|
||||||
|
fn simple_thread() u64 {
|
||||||
|
tid := sync.thread_id()
|
||||||
|
eprintln('simple_thread thread_id: $tid.hex()')
|
||||||
|
return tid
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test_sync_thread_id() {
|
||||||
|
mtid := sync.thread_id()
|
||||||
|
eprintln('main thread_id: $sync.thread_id().hex()')
|
||||||
|
x := go simple_thread()
|
||||||
|
y := go simple_thread()
|
||||||
|
xtid := x.wait()
|
||||||
|
ytid := y.wait()
|
||||||
|
eprintln('main thread_id: $sync.thread_id().hex()')
|
||||||
|
dump(xtid.hex())
|
||||||
|
dump(ytid.hex())
|
||||||
|
assert mtid != xtid
|
||||||
|
assert mtid != ytid
|
||||||
|
assert xtid != ytid
|
||||||
|
}
|
7
vlib/sync/thread_windows.c.v
Normal file
7
vlib/sync/thread_windows.c.v
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
module sync
|
||||||
|
|
||||||
|
fn C.GetCurrentThreadId() u32
|
||||||
|
|
||||||
|
pub fn thread_id() u64 {
|
||||||
|
return u64(C.GetCurrentThreadId())
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user