La xaliyay: khariidad farsamayn badan

Multiprocessing waa farsamo caan ku ah barnaamijka Python kaas oo kuu ogolaanaya inaad socodsiiso habab kala duwan si isku mid ah, taas oo inta badan keenta horumarinta waxqabadka iyo isticmaalka hufan ee ilaha nidaamka. Maqaalkani waxa uu dhexda u galayaa isticmaalka farsamaynta badan maktabad ku taal Python, gaar ahaan diiradda saaraya map shaqayn Hawsha khariidaddu waxay kuu ogolaanaysaa inaad ku dabaqdo hawl shay kasta ku jira mid la qiyaasi karo, sida liis, oo aad ku soo celiso liis cusub oo leh natiijooyinka. Anagoo ka faa'iidaysanayna hab-socodka badan, waxaan ku barbar dhigi karnaa habkan waxtarka weyn iyo miisaanka.

Maqaalkan, waxaan sahamin doonaa dhibaatada taas oo ku-habboonaanta badan ee shaqada khariidadu ay u noqon karto xal aad u fiican, ka doodo maktabadaha iyo shaqooyinka khuseeya, waxaan bixin doonaa sharraxaad tallaabo ah oo ku saabsan koodka, oo aan dhexgelin doono mawduucyo la xidhiidha oo ku dhismaya laf dhabarta. habaynta badan iyo shaqada khariidada.

Khariidadda farsamaynta badan: Dhibaatada iyo Xalka

Dhibaatada aan hiigsaneyno inaan xallino waa inaan horumarino waxqabadka iyo hufnaanta ku-dhaqanka shaqo shay kasta oo la taaban karo, sida liis, tuple, ama shay kasta oo kale oo taageeraya soo-celinta. Marka ay la kulmaan hawlahan oo kale, isticmaalka khariidadda ku dhex dhisan shaqada ama fahamka liiska waxay noqon kartaa mid gaabis ah oo aan waxtar lahayn.

Xalku waa in laga faa'iidaysto maktabadda hab-socodka badan ee Python, gaar ahaan, the pool fasalka iyo ay map habka. Adigoo isticmaalaya hawlqabadka badan ee Pool.map (), waxaan u qaybin karnaa fulinta shaqadeena habab badan.

Sharaxaada Tallaabo-tallaabo ee Xeerka

Aynu kala jejebino koodka oo aynu tusaalayno sida loo isticmaalo shaqada khariidadaha badan ee si wax ku ool ah:

import multiprocessing
import time

def square(n):
    time.sleep(0.5)
    return n * n

# Create the list of numbers
numbers = list(range(10))

# Initialize the multiprocessing Pool
pool = multiprocessing.Pool()

# Use the map function with multiple processes
squared_numbers = pool.map(square, numbers)

print(squared_numbers)
  1. Marka hore, soo daji farsamaynta badan module, kaas oo ka kooban qalabka lagama maarmaanka u ah in laga faa'iidaysto habayn is barbar socda Python.
  2. Samee hawl la yiraahdo square taas oo si fudud u seexanaysa nus ilbiriqsi ka dibna soo celisa afargeeska dooddeeda. Shaqadani waxay u dhigantaa xisaabin qaadata wakhti macquul ah in la dhamaystiro.
  3. Samee liis la yiraahdo lambarada, oo ka kooban 0 ilaa 9 (lagu daro).
  4. Bilow a pool shay ka soo baxay moduleka badan ee habaynta. Shayga barkada wuxuu u adeegaa sidi lagu maareyn lahaa hababka shaqaalaha ee aad isticmaali doonto si aad u barbar dhigto hawlahaaga.
  5. Wac map habka ku saabsan shayga barkadda, oo u gudub gudaha square shaqada iyo lambarada liiska. Habka khariidadda ayaa markaa dabaqaya shaqada labajibbaaran ee shay kasta oo liiska tirooyinka ku jira isla markaaba, iyada oo la adeegsanayo hababka shaqaalaha ee jira ee barkadda.
  6. Daabac liiska natiijada ee afarjibbaaran_numbers, kaas oo ka kooban qiyamka labajibbaaran liiska tirooyinka.

Python Multiprocessing Library

Python-ka farsamaynta badan Maktabadu waxay ku siinaysaa hab dareen leh oo lagu hirgelinayo isbarbardhigga barnaamijkaaga. Waxay daboolaysaa qaar ka mid ah kakanaanta sida caadiga ah ee la xidhiidha barnaamijyada isbarbardhigga ah iyada oo bixisa muuqaalo heer sare ah sida pool. Fasalka barkada wuxuu fududeeyaa qaybinta shaqada ee habab kala duwan, taasoo u sahlaysa isticmaaluhu inuu la kulmo faa'iidooyinka habaynta barbar socda dhib yar.

Python Itertools Module iyo Hawlaha la xidhiidha

In kasta oo habka badan loo sameeyo ay xal fiican u tahay hawlo badan oo isbarbar socda, waxaa xusid mudan in Python ay sidoo kale bixiso maktabado kale iyo qalab daboolaya baahiyaha la midka ah. Qaybta itertools, tusaale ahaan, waxa ay soo bandhigtaa hawlo badan oo ka shaqeeya waxyaalaha la cusboonaysiin karo, oo inta badan leh hufnaan la hagaajiyay. Itertools qaarkood waxay u shaqeeyaan sida imap() iyo imap_aan dalban() waxay barbar dhigi kartaa habka loo dabaqayo shaqada mid la taaban karo. Si kastaba ha ahaatee, waxaa muhiim ah in la ogaado in itertools ay diiradda saarayso ugu horrayn xalalka ku salaysan dib-u-eegista, halka maktabadda farsamaynta badan ay bixiso hab aad u dhammaystiran oo isbarbar-dhigga ah, oo bixisa qalab iyo karti dheeraad ah oo ka baxsan hawlaha khariidadda-sida.

Related posts:

Leave a Comment