▲ | layer8 4 days ago | ||||||||||||||||
Other than in the sense of SMT (Hyper-Threading)? I don't think so. Threads are a software concept. One can distinguish between native (OS) threads and green (language-runtime) threads which may use a different context-switching mechanism. But that's more of a spectrum in terms of thread-safety; similar to how running multiple threads on a single CPU core without SMT, single CPU core with SMT, multiple CPU cores, with different possible CPU cache coherency guarantees, create a spectrum of possible thread-safety issues. | |||||||||||||||||
▲ | zozbot234 4 days ago | parent | next [-] | ||||||||||||||||
Runtime-switched tasks cannot lead to memory unsafety unless multiple OS threads are involved, because that's the only case where torn writes are possible. And a typical configuration of Go will not be running multiple OS threads unless multiple hardware threads (aka "logical cores", "virtual processors" etc.) are available. | |||||||||||||||||
| |||||||||||||||||
▲ | 4 days ago | parent | prev [-] | ||||||||||||||||
[deleted] |