Python дээр multithreading хэрхэн хийгддэг вэ?
Python дээр multithreading хэрхэн хийгддэг вэ?

Видео: Python дээр multithreading хэрхэн хийгддэг вэ?

Видео: Python дээр multithreading хэрхэн хийгддэг вэ?
Видео: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, May
Anonim

Threading-ийн хувьд зэрэгцээ байдал юм хүрсэн ашиглах олон утас , гэхдээ GIL-ийн улмаас нэг удаад зөвхөн нэг хэлхээ ажиллаж болно. онд олон боловсруулалт , анхны процесс нь GIL-г алгасах замаар олон хүүхэд процесст хуваагддаг. Хүүхдийн процесс бүр програмын бүх санах ойн хуулбартай байх болно.

Эндээс Python-д multithreading сайн байна уу?

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

Үүнтэй адилаар Python хэл дээр олон урсгалтай гэж юу гэсэн үг вэ? Python дээр Threading гүйхэд ашигладаг олон утас (даалгавар, функцийн дуудлага) нэгэн зэрэг. Энэ нь тийм биш гэдгийг анхаарна уу гэсэн үг Тэд өөр өөр CPU дээр ажилладаг. Python Threads нь таны програмыг аль хэдийн 100% CPU-ийн цаг ашигладаг бол илүү хурдан болгохгүй. Энэ тохиолдолд та зэрэгцээ програмчлалыг судлахыг хүсч магадгүй юм.

Олон урсгал гэж юу вэ, бид яаж үүнд хүрэх вэ?

Олон урсгалтай CPU-ийг дээд зэргээр ашиглахын тулд програмын хоёр ба түүнээс дээш хэсгийг зэрэг гүйцэтгэх боломжийг олгодог Java функц юм. Ийм программын хэсэг бүрийг thread гэж нэрлэдэг. Тиймээс, утаснууд байна процесс доторх хөнгөн жинтэй процессууд. Threads чадна хоёр механизмыг ашиглан үүсгэнэ: 1.

Python thread нь санах ойг хуваалцдаг уу?

-ийн нэг давуу тал утаснууд in Python тэд гэж үү хуваалцах адилхан санах ой орон зай, улмаар мэдээлэл солилцох нь харьцангуй хялбар байдаг. Гэсэн хэдий ч зарим бүтэц нь илүү тодорхой зорилгод хүрэхэд тань туслах болно.

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