←back to thread

495 points guntars | 1 comments | | HN request time: 0s | source
Show context
npalli ◴[] No.44984695[source]
So, current status on async

Rust - you need to understand: Futures, Pin, Waker, async runtimes, Send/Sync bounds, async trait objects, etc.

C++20, coroutines.

Go, goroutines.

Java21+, virtual threads

replies(4): >>44984787 #>>44985922 #>>44986154 #>>44988572 #
K0nserv ◴[] No.44986154[source]
The facts that Send/Sync bounds model are still relevant in all the other languages, the absence of Send/Sync just means it's easier to write subtly incorrect code.
replies(1): >>44987201 #
1. koakuma-chan ◴[] No.44987201[source]
Yeah the new typescript compiler that's written in Go crashed for me the other day because of some kind of concurrent modification. Java also has runtime checks for concurrent modification in its collections.