Rešeno: nit python

Zadnja posodobitev: 09/11/2023

Glavna težava z nitmi je, da lahko ustvarijo veliko sporov za vire, kot sta čas procesorja in pomnilnik. To lahko povzroči težave, če dve niti poskušata dostopati do istega vira hkrati.ing_simple.py

#!/usr/bin/python import threading import time # Definirajte funkcijo za nit def print_time( threadName, delay): count = 0 while count < 5: time.sleep(delay) count += 1 print "%s: %s" % ( threadName, time.ctime(time.time()) ) # Ustvarite dve niti, kot sledi poskusite: thread.start_new_thread( print_time, ("Thread-1", 2, ) ) thread.start_new_thread( print_time, ( "Thread-2", 4, ) ) razen: print "Error: unable to start thread" while 1: pass[/code] Ta koda ustvari dve niti. Prva nit bo zagnala funkcijo "print_time" vsaki 2 sekundi, druga nit pa bo zagnala funkcijo "print_time" vsake 4 sekunde.

Navojni predmeti

V Pythonu lahko navojite predmete z uporabo modula za navoje. Ta modul ponuja različne funkcije, ki jih lahko uporabite za ustvarjanje in upravljanje niti v vaši kodi.

Če želite začeti novo nit v Pythonu, lahko uporabite funkcijo threading.Thread(). Ta funkcija kot edini argument sprejme funkcijski objekt, ki ga želite izvajati kot nit. Objekt funkcije mora imeti atribut __name__, ki določa ime niti, v kateri se bo ta funkcija izvajala.

Ko ustvarite nit s funkcijo Thread(), jo lahko zaženete s klicem metode Threading.start(). Ta metoda kot edini argument sprejme niz, ki določa ime programske datoteke, kjer naj se nova nit začne izvajati.

Uporabite lahko tudi metodo Threading.join(), da prekinete tekočo nit in vrnete nadzor nazaj v vašo glavno programsko zanko. Ta metoda kot edini argument sprejme niz, ki določa ime programske datoteke, kjer naj nova nit zaključi izvajanje.

Daemon Threads

Daemon niti so niti, ki se izvajajo v ozadju programa. Uporabljajo se za obravnavo dolgotrajnih nalog ali storitev, ne da bi motili običajni tok izvajanja.

Podobni objav: