User Tools

Site Tools


python:asyncio

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
python:asyncio [2025/12/11 13:18] v1ctorpython:asyncio [2025/12/15 13:02] (current) v1ctor
Line 3: Line 3:
 //Asyncio// uses cooperative multitasking to achieve concurrency. When our application reaches a point where it could wait a while for a result to come back, we explicitly mark this in code. //Asyncio// uses cooperative multitasking to achieve concurrency. When our application reaches a point where it could wait a while for a result to come back, we explicitly mark this in code.
  
 +''async'' - let us to define a coroutine.\\
 +''await'' - let us pause our coroutine when we have a long-running operation. Blocking operation.\\
  
 +==== TASKS ====
 +
 +''Task'' - wraps a coroutine and schedules it to run on the event loop immediately (in the background). The task starts running as soon as the event loop gets a chance (e.g., when you next await something; await triggers an iteration of the event loop).\\
 +
 +Task can be cancelled:
 +<code python>
 +long_task = asyncio.create_task(delay(10))
 +while not long_task.done():
 +  long_task.cancel()
 +
 +try:
 +    await long_task
 +except CancelledError:
 +    print("Our task was cancelled")
 +</code>
python/asyncio.1765459134.txt.gz · Last modified: by v1ctor