Junior — Middle
108
Чӣ гуна метавон дар Python коркарди бисёрҳуҷраии вазифаҳоро, ки маҳдудиятҳои CPU доранд, иҷро кард?
Ширкатҳо дар куҷо пурсиданд
Effective Mobile
Ҷавоб аз AI
sobes.tech AI
В Python для многопоточной обработки задач, ограниченных CPU, стандартный модуль threading неэффективен из-за GIL (Global Interpreter Lock), который не позволяет одновременно выполнять байт-код Python в нескольких потоках.
Для эффективного использования нескольких ядер CPU лучше применять модуль multiprocessing, который создает отдельные процессы с собственным интерпретатором Python, обходя ограничение GIL.
Пример использования multiprocessing:
from multiprocessing import Pool
def cpu_bound_task(x):
# пример вычислительной задачи
return x * x
if __name__ == '__main__':
with Pool(processes=4) as pool:
results = pool.map(cpu_bound_task, range(10))
print(results)
Такой подход позволяет распараллелить CPU-интенсивные задачи и значительно ускорить их выполнение.