Some languages support multiple threads, thread-safe data structures and cross-thread communication. Some languages also support asynchronous invocation of functions that may be waiting for an external asynchronous operation (e.g. IO, external process).
- Async/Await
- External Async Operations
- Multi-Threading
- Atomic Operations and Mutexes
- Semaphores and inter-thread communication
- OS signal handlers
- Shared Memory