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