Встречается на собеседованиях • сегодня
Для вычислительной задачи лучше задействовать несколько процессов или несколько потоков
В Python для CPU-bound задач (интенсивные вычисления) лучше использовать процессы из-за GIL (Global Interpreter Lock), который блокирует выполнение потоков при работе с CPU. Для I/O-bound задач (ожидание ввода-вывода) подойдут потоки, так как GIL освобождается во время ожидания.
Пример для процессов (CPU-bound):
python
from multiprocessing import Pool
def square(x):
return x * x
if __name__ == '__main__':
with Pool(4) as p:
print(p.map(square, range(10)))Пример для потоков (I/O-bound):
python
from threading import Thread
import requests
def fetch(url):
response = requests.get(url)
print(response.status_code)
threads = [Thread(target=fetch, args=('https://example.com',)) for _ in range(5)]
for t in threads:
t.start()
for t in threads:
t.join()
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы