Что такое параллелизм
Python
Senior
Без компании
Что такое параллелизм
Ответы
Параллелизм — это способ выполнения нескольких задач одновременно, используя переключение контекста (потоки, корутины) или реальное параллельное выполнение (процессы). В Python из-за GIL (Global Interpreter Lock) настоящий параллелизм возможен только с процессами (`multiprocessing`), а потоки (`threading`) подходят для I/O-bound задач.
**Пример с потоками:**
```
import threading
def task(name):
print(f"Task {name} started")
# Имитация I/O операции
import time
time.sleep(1)
print(f"Task {name} finished")
threads = []
for i in range(3):
t = threading.Thread(target=task, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join()
```
**Пример с процессами:**
```
from multiprocessing import Process
def task(name):
print(f"Task {name} started")
# CPU-bound операция
result = sum(i*i for i in range(10**6))
print(f"Task {name} finished")
processes = []
for i in range(3):
p = Process(target=task, args=(i,))
processes.append(p)
p.start()
for p in processes:
p.join()
```
Для асинхронного кода используют `asyncio`.