Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Rööprähklemine Pythoniga (multiprocessing/concurrent.futures) märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
hollywer
HV kasutaja
hollywer

liitunud: 01.01.2005




sõnum 28.03.2021 23:19:58 Rööprähklemine Pythoniga (multiprocessing/concurrent.futures) vasta tsitaadiga

Kas kellelgi on kogemusi rööprähklemisega Pythoni keeles?
Üritasin nii multiprocessing kui ka concurrent.futures mooduliga, aga ei olnud kummagagi õnne - TkInter graafiline liides tardub lihtsalt ära ja akna peale klikkides Windows ütleb "Python is not responding" ja pakub sulgemist.
Kasutatav funktsioon toimib kenasti for-tsüklit kasutades (ainult ühe tuumaga), aga kui tahan kogu töö paralleelselt jooksma panna, on kellad. Proovisin sama asja ka objekt-orienteeritult lahendada, aga sama teema.
Ei saagi nüüd aru, kas ma teen midagi valesti või on minu masinal midagi häda? Või TkInter ei lubagi omale paralleelselt midagi külge panna?
Lühidalt on mul kirjas midagi sellist:
def teeMidagi(data):
   tulemus = Label(raam, text=str(data))
   return tulemus
root = Tk()
raam = Frame(root)
with ThreadPoolExecutor() as executor:
   tulemused = executor.map(teeMidagi, range(0, 8))
   for tulemus in tulemused:
      tulemus.pack()
Kommentaarid: 10 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
RassK
HV Guru
RassK

liitunud: 17.01.2007




sõnum 30.03.2021 14:55:17 vasta tsitaadiga

Pythoni kohapealt ei tea aga ilmselt jookseb deadlocki. UI threadiga ilmselt vaja sünkroniseerida uuesti, töid võid muus threadis jooksutada küll aga joonistad sünkroniseeritult UI threadis.
Kommentaarid: 111 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 97
tagasi üles
vaata kasutaja infot saada privaatsõnum
hollywer
HV kasutaja
hollywer

liitunud: 01.01.2005




sõnum 31.03.2021 17:59:15 vasta tsitaadiga

Kraapisin funktsioonist kõik välja, mis vähegi Tkinterit puudutab ja sain asja tööle icon_smile.gif
Kommentaarid: 10 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
grepawksed
HV vaatleja

liitunud: 07.10.2017




sõnum 19.04.2021 19:04:15 vasta tsitaadiga

Pythonis kasuta threadingut paralleliseerimiseks siis, kui jääd I/O-d ootama, sest Pythonis saab joosta ainult üks lõim/thread korraga. Arvutamiseks kasuta multiprocessingut, võid näiteid leida nt siit https://pymotw.com/3/multiprocessing/index.html#module-multiprocessing
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Rööprähklemine Pythoniga (multiprocessing/concurrent.futures)
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.