Y
Hacker News
new
|
ask
|
show
|
jobs
by
vips7L
1469 days ago
What happens if you need to do computational work on a go routine? Isn’t that going to block the carrier thread and then murder throughput?
1 comments
IshKebab
1469 days ago
Yes, you have to manually insert yield points. Exactly the same as with every cooperative threading system, including Lunatic and Rust's native async/await.
Kind of feels like we need user space preemptive threading somehow.
link
smasher164
1469 days ago
Go has asynchronous preemption now using signals. Tight loops are preemptible.
link
vips7L
1469 days ago
Or just the ability to use native os thread pools for that type of work.
link
Kind of feels like we need user space preemptive threading somehow.