Что такое параллельность

Python Middle Без компании
Что такое параллельность
Ответы
Параллельность в Python — это выполнение нескольких задач одновременно, используя переключение контекста (не путать с истинным параллелизмом, где задачи выполняются физически одновременно). В Python из-за GIL (Global Interpreter Lock) потоки (`threading`) не дают настоящего параллелизма для CPU-задач, но полезны для I/O-bound задач (например, сетевые запросы). Для CPU-bound задач лучше использовать `multiprocessing`, так как процессы не ограничены GIL. **Пример с потоками (I/O-bound):** ``` import threading def fetch_url(url): print(f"Fetching {url}...") # имитация запроса time.sleep(2) print(f"Done {url}") urls = ["https://example.com", "https://google.com"] threads = [threading.Thread(target=fetch_url, args=(url,)) for url in urls] for t in threads: t.start() for t in threads: t.join() ``` **Пример с процессами (CPU-bound):** ``` from multiprocessing import Pool def compute(x): return x * x with Pool(4) as p: print(p.map(compute, [1, 2, 3, 4])) ``` Для современных асинхронных задач можно использовать `asyncio`.