Junior — Middle
How did you implement managing multiple tasks in your projects?
sobes.tech AI
Answer from AI
To manage multiple tasks in Python, I often use several approaches depending on the project requirements:
-
Threads (threading) — for I/O-bound tasks where concurrency is important but multi-processing is not required. For example, loading multiple files simultaneously.
-
Multiprocessing — when you need to parallelize compute-intensive tasks to utilize multiple CPU cores.
-
Asynchronous programming (asyncio) — for a large number of I/O operations with high concurrency, such as working with network requests.
Example using asyncio:
import asyncio
async def task(name, delay):
print(f"Task {name} started")
await asyncio.sleep(delay)
print(f"Task {name} finished")
async def main():
await asyncio.gather(
task('A', 2),
task('B', 1),
task('C', 3)
)
asyncio.run(main())
This approach allows running multiple tasks simultaneously without blocking the main thread.