Python дээр multiprocessing эсвэл multithreading аль нь дээр вэ?
Python дээр multiprocessing эсвэл multithreading аль нь дээр вэ?

Видео: Python дээр multiprocessing эсвэл multithreading аль нь дээр вэ?

Видео: Python дээр multiprocessing эсвэл multithreading аль нь дээр вэ?
Видео: str vs bytes in Python 2024, Дөрөвдүгээр сар
Anonim

The утас залгах модуль нь threads ашигладаг, the олон боловсруулалт модуль нь процессуудыг ашигладаг. Ялгаа нь урсгалууд нь нэг санах ойн зайд ажилладаг бол процессууд нь тусдаа санах ойтой байдаг. Энэ нь процессуудын хооронд объектуудыг хуваалцахад арай хэцүү болгодог олон боловсруулалт . Түрс шахах үйл явц түрс шахах утаснаас арай удаан байдаг.

Үүний дагуу аль нь олон процесс эсвэл олон урсгалтай вэ?

Гол ялгаа нь олон боловсруулалт болон олон урсгалтай тийм үү олон боловсруулалт Энэ нь системд хоёроос илүү CPU нэмэх боломжийг олгодог олон урсгалтай процесс үүсгэх боломжийг олгодог олон утас системийн тооцоолох хурдыг нэмэгдүүлэх.

Олон процессын оронд multithreading ашиглахын давуу тал нь юу вэ? Тиймээс, олон урсгалтай програмууд нь нэг процессортой системээс хамаагүй хурдан ажиллах боломжтой. Тэд мөн програмаас хурдан байж болно олон процесс ашиглах , учир нь thread-ууд нь бага нөөц шаарддаг ба нэмэлт зардал бага үүсгэдэг.

Цаашилбал, Python дээр multithreading сайн байна уу?

CPython-д Global Interpreter Lock-ийн улмаас зөвхөн нэг thread ажиллах боломжтой Python кодыг нэг дор (хэдийгээр гүйцэтгэлд чиглэсэн зарим номын сангууд энэ хязгаарлалтыг даван туулж болох ч). Гэсэн хэдий ч, хэрэв та хэд хэдэн I/O-тэй холбогдсон ажлыг нэгэн зэрэг гүйцэтгэхийг хүсвэл threading нь тохиромжтой загвар хэвээр байна.

Multithreading сайн уу?

Олон урсгалтай а биш сайн Хэрэв та физик цагийг нарийн баталгаажуулах шаардлагатай бол санаа (таны жишээн дээрх шиг). Бусад сул талууд нь урсгалуудын хооронд эрчимтэй өгөгдөл солилцох явдал юм. Би хэлэх болно олон урсгалтай байна сайн Хэрэв та тэдгээрийн харьцангуй хурд/тэргүүлэх/цаг хугацааны талаар нэг их санаа зовдоггүй бол үнэхээр зэрэгцээ ажлуудын хувьд.

Зөвлөмж болгож буй: