The modules described in this chapter provide mechanisms for different processes to communicate.
Some modules only work for two processes that are on the same machine, e.g.
signal
and mmap
. Other modules support networking protocols
that two or more processes can use to communicate across machines.
The list of modules described in this chapter is:
- 18.1.
socket
— Low-level networking interface - 18.2.
ssl
— TLS/SSL wrapper for socket objects - 18.3.
select
— Waiting for I/O completion - 18.4.
selectors
— High-level I/O multiplexing - 18.5.
asyncio
— Asynchronous I/O, event loop, coroutines and tasks- 18.5.1. Base Event Loop
- 18.5.1.1. Run an event loop
- 18.5.1.2. Calls
- 18.5.1.3. Delayed calls
- 18.5.1.4. Futures
- 18.5.1.5. Tasks
- 18.5.1.6. Creating connections
- 18.5.1.7. Creating listening connections
- 18.5.1.8. Watch file descriptors
- 18.5.1.9. Low-level socket operations
- 18.5.1.10. Resolve host name
- 18.5.1.11. Connect pipes
- 18.5.1.12. UNIX signals
- 18.5.1.13. Executor
- 18.5.1.14. Error Handling API
- 18.5.1.15. Debug mode
- 18.5.1.16. Server
- 18.5.1.17. Handle
- 18.5.1.18. Event loop examples
- 18.5.2. Event loops
- 18.5.3. Tasks and coroutines
- 18.5.4. Transports and protocols (callback based API)
- 18.5.5. Streams (coroutine based API)
- 18.5.6. Subprocess
- 18.5.7. Synchronization primitives
- 18.5.8. Queues
- 18.5.9. Develop with asyncio
- 18.5.9.1. Debug mode of asyncio
- 18.5.9.2. Cancellation
- 18.5.9.3. Concurrency and multithreading
- 18.5.9.4. Handle blocking functions correctly
- 18.5.9.5. Logging
- 18.5.9.6. Detect coroutine objects never scheduled
- 18.5.9.7. Detect exceptions never consumed
- 18.5.9.8. Chain coroutines correctly
- 18.5.9.9. Pending task destroyed
- 18.5.9.10. Close transports and event loops
- 18.5.1. Base Event Loop
- 18.6.
asyncore
— Asynchronous socket handler - 18.7.
asynchat
— Asynchronous socket command/response handler - 18.8.
signal
— Set handlers for asynchronous events - 18.9.
mmap
— Memory-mapped file support