Встречается на собеседованиях • сегодня

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

Параллельность в Python — это выполнение нескольких задач одновременно, используя переключение контекста (не путать с истинным параллелизмом, где задачи выполняются физически одновременно).

В Python из-за GIL (Global Interpreter Lock) потоки (threading) не дают настоящего параллелизма для CPU-задач, но полезны для I/O-bound задач (например, сетевые запросы). Для CPU-bound задач лучше использовать multiprocessing, так как процессы не ограничены GIL.

Пример с потоками (I/O-bound):

python
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):

python
from multiprocessing import Pool

def compute(x):
    return x * x

with Pool(4) as p:
    print(p.map(compute, [1, 2, 3, 4]))

Для современных асинхронных задач можно использовать asyncio.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы