Назад к вопросам
Junior — Middle
57
Имели ли вы опыт работы с многопоточностью или параллельными вычислениями?
Компании, где спрашивали
ИнфоТехСервис
Ответ от нейросети
sobes.tech AI
Да, в Python есть опыт работы с многопоточностью и параллельными вычислениями. Для многопоточности используется модуль threading, который позволяет запускать несколько потоков в рамках одного процесса. Однако из-за GIL (Global Interpreter Lock) настоящая параллельность в CPU-bound задачах ограничена.
Для параллельных вычислений лучше использовать модуль multiprocessing, который запускает несколько процессов и обходит ограничения GIL.
Пример использования threading:
import threading
def worker():
print("Поток выполняется")
threads = []
for i in range(5):
t = threading.Thread(target=worker)
t.start()
threads.append(t)
for t in threads:
t.join()
Пример использования multiprocessing:
from multiprocessing import Pool
def f(x):
return x * x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3, 4, 5]))
Таким образом, выбор между потоками и процессами зависит от задачи и требований к параллелизму.