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

Bagaimana untuk menggunakan modul threading dalam python

王林
Lepaskan: 2023-05-15 18:16:12
ke hadapan
2274 orang telah melayarinya

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()
Salin selepas log masuk

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()
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

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"
Salin selepas log masuk

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!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan