Solved: python thread

Huling pag-update: 09/11/2023

Ang pangunahing problema sa mga thread ay maaari silang lumikha ng maraming pagtatalo para sa mga mapagkukunan, tulad ng oras ng CPU at memorya. Maaari itong humantong sa mga problema kung sinubukan ng dalawang thread na i-access ang parehong mapagkukunan sa parehong oras.ing_simple.py

#!/usr/bin/python import threading import time # Tukuyin ang isang function para sa thread def print_time( threadName, delay): count = 0 habang count < 5: time.sleep(delay) count += 1 print "%s: %s" % ( threadName, time.ctime(time.time()) ) # Gumawa ng dalawang thread gaya ng sumusunod subukan: thread.start_new_thread( print_time, ("Thread-1", 2, ) ) thread.start_new_thread( print_time, ( "Thread-2", 4, ) ) maliban sa: i-print ang "Error: hindi masimulan ang thread" habang 1: pass[/code] Lumilikha ang code na ito ng dalawang thread. Tatakbo ang unang thread ng function na "print_time" tuwing 2 segundo at tatakbo ang pangalawang thread ng function na "print_time" tuwing 4 na segundo.

Threading Objects

Sa Python, maaari mong i-thread ang mga bagay sa pamamagitan ng paggamit ng threading module. Ang module na ito ay nagbibigay ng iba't ibang mga function na maaari mong gamitin upang lumikha at pamahalaan ang mga thread sa iyong code.

Upang magsimula ng bagong thread sa Python, maaari mong gamitin ang threading.Thread() function. Ang function na ito ay tumatagal bilang ang tanging argumento nito sa isang function object na gusto mong patakbuhin bilang isang thread. Ang function na object ay dapat may __name__ attribute, na tumutukoy sa pangalan ng thread kung saan tatakbo ang function na ito.

Kapag nakagawa ka na ng thread gamit ang Thread() function, maaari mo itong simulan sa pamamagitan ng pagtawag sa Threading.start() na paraan. Ang pamamaraang ito ay tumatagal bilang ang tanging argumento nito ay isang string na tumutukoy sa pangalan ng file ng programa kung saan dapat magsimulang mag-execute ang bagong thread.

Maaari mo ring gamitin ang Threading.join() na paraan upang wakasan ang tumatakbong thread at ibalik ang kontrol sa iyong pangunahing loop ng programa. Ang pamamaraang ito ay tumatagal bilang ang tanging argumento nito ay isang string na tumutukoy sa pangalan ng file ng programa kung saan dapat tapusin ng bagong thread ang pagpapatupad.

Mga Thread ng Daemon

Ang mga daemon thread ay mga thread na tumatakbo sa background ng isang programa. Ginagamit ang mga ito upang pangasiwaan ang mga matagal nang gawain o serbisyo nang hindi nakakasagabal sa normal na daloy ng pagpapatupad.

Kaugnay na mga post: