Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk menggunakan modul threading dalam python

Bagaimana untuk menggunakan modul threading dalam python

王林
王林ke hadapan
2023-05-15 18:16:122222semak imbas

Penjelasan terperinci tentang modul threading dalam python menyediakan API peringkat lebih tinggi daripada modul thread untuk menyediakan concurrency thread. Utas ini berjalan serentak dan berkongsi memori.

Mari kita lihat penggunaan khusus modul benang:

1 Penggunaan Benang

Fungsi sasaran boleh membuat instantiat objek Benang, dan setiap objek Benang mewakili benang. . Anda boleh mula menjalankan kaedah start().

Berikut ialah perbandingan antara menggunakan serentak berbilang benang dan tidak menggunakan serentak berbilang benang:

Yang pertama ialah operasi tanpa menggunakan berbilang benang:

Kodnya ialah seperti berikut:

#!/usr/bin/python 
#compare for multi threads 
import time 
def worker(): 
    print"worker" 
    time.sleep(1) 
    return 
    if__name__ =="__main__": 
    for i in xrange(5): 
    worker()

Hasil pelaksanaan adalah seperti berikut:

Bagaimana untuk menggunakan modul threading dalam python

Berikut ialah operasi menggunakan konkurensi berbilang benang:

The kod adalah seperti berikut:

#!/usr/bin/python 
import threading 
import time 
defworker(): 
    print"worker" 
    time.sleep(1) 
    return 
    fori in xrange(5): 
        t=threading.Thread(target=worker) 
        t.start()

Bagaimana untuk menggunakan modul threading dalam python

Ia boleh dilihat dengan jelas bahawa operasi serentak berbilang benang mengambil masa yang lebih singkat.

2. Penggunaan threading.activeCount()

Kaedah ini mengembalikan bilangan utas dalam proses semasa. Nombor yang dikembalikan termasuk utas utama.

Kodnya adalah seperti berikut:

#!/usr/bin/python 
#current's number of threads 
import threading 
import time 
defworker(): 
    print"test" 
    time.sleep(1) 
    for i in xrange(5): 
        t=threading.Thread(target=worker) 
        t.start() 
        print"current has %d threads" % (threading.activeCount() -1)

Bagaimana untuk menggunakan modul threading dalam python

3.

Kaedah ini mengembalikan senarai objek Thread yang sedang dijalankan.

Kodnya adalah seperti berikut:

#!/usr/bin/python 
#test the variable threading.enumerate() 
import threading 
import time 
defworker(): 
    print"test" 
    time.sleep(2) 
    threads=[] 
    for i in xrange(5): 
        t=threading.Thread(target=worker) 
        threads.append(t) 
        t.start() 
        for item in threading.enumerate(): 
            print item 
            print for item in threads: 
                print item

Bagaimana untuk menggunakan modul threading dalam python

4.

Tetapkan proses latar belakang.

Kod adalah seperti berikut:

#!/usr/bin/python 
#create a daemon 
import threading 
import time 
def worker(): 
    time.sleep(3) 
    print"worker" 
    t=threading.Thread(target=worker) 
    t.setDaemon(True) 
    t.start() 
    print"haha"

Bagaimana untuk menggunakan modul threading dalam python

Ia boleh dilihat bahawa operasi pencetakan dalam kaedah worker() tidak dipaparkan, menunjukkan bahawa ia mempunyai menjadi proses latar belakang.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan modul threading dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam