Pythonдо multithreading кантип жетишилет?
Pythonдо multithreading кантип жетишилет?

Video: Pythonдо multithreading кантип жетишилет?

Video: Pythonдо multithreading кантип жетишилет?
Video: Python Threading Explained in 8 Minutes 2024, Ноябрь
Anonim

жип менен, параллелдүүлүк болуп саналат жетишилген колдонуу көп жиптер , бирок GILдин аркасында бир эле учурда бир жип иштесе болот. In көп иштетүү , баштапкы процесс GILди кыйгап өтүү менен бир нече бала процесстерине айрылат. Ар бир бала процессинде бүт программанын эс тутумунун көчүрмөсү болот.

Бул жерде Pythonдо көп агым жакшыбы?

CPythonдо, Global Interpreter Lock'тун аркасында, бир гана жипти аткара алат Python кодду дароо (айрым аткарууга багытталган китепканалар бул чектөөнү жеңе алат да). Бирок, бир эле учурда бир нече I/O менен байланышкан тапшырмаларды аткаргыңыз келсе, жип түзүү дагы эле ылайыктуу модель болуп саналат.

Ошо сыяктуу эле, Pythonдо көп агым деген эмнени билдирет? Питондо жип түзүү чуркоо үчүн колдонулат көп жиптер (милдеттерди, функцияларды чакыруу) ошол эле учурда. Бул эмес экенин белгилей кетүү керек дегенди билдирет алар ар кандай CPUларда аткарылат. Python Threads программаңызды 100% CPU убактысын колдонсо, анда сиздин программаңызды ылдамдатпайт. Мындай учурда, сиз, балким, параллелдүү программалоону карап көргүңүз келет.

Ошондой эле суроо берилиши мүмкүн, көп агым деген эмне, биз ага кантип жете алабыз?

Multithreading CPU максималдуу пайдалануу үчүн программанын эки же андан көп бөлүгүн бир убакта аткарууга мүмкүндүк берген Java функциясы. Мындай программанын ар бир бөлүгү жип деп аталат. Ошентип, жиптер болуп саналат процесс ичиндеги жеңил процесстер. Жиптер болот эки механизмди колдонуу менен түзүлөт: 1.

Python жиптери эстутум менен бөлүшөбү?

артыкчылыктарынын бири жиптер ичинде Python бул алар бөлүшүү ошондой эс мейкиндик, ошондуктан маалымат алмашуу салыштырмалуу жеңил. Бирок, кээ бир структуралар конкреттүү максаттарга жетүүгө жардам берет.

Сунушталууда: