Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh membuat benang dalam Python menggunakan fungsi tanpa subkelas Benang?

Bagaimanakah saya boleh membuat benang dalam Python menggunakan fungsi tanpa subkelas Benang?

Barbara Streisand
Barbara Streisandasal
2024-10-25 07:05:29658semak imbas

How can I create threads in Python using functions without subclassing Thread?

Mencipta Benang dalam Python Menggunakan Fungsi

Masalah:

Untuk menjalankan dua fungsi serentak dalam skrip Python, anda tidak dapat melaksanakan threading menggunakan kod contoh yang disediakan. Anda lebih suka menggunakan fungsi berulir dan bukannya pendekatan berasaskan kelas.

Penyelesaian:

Anda boleh mencipta utas menggunakan fungsi berulir dalam Python tanpa menggunakan subkelas Thread . Berikut ialah contoh:

<code class="python">from threading import Thread
from time import sleep

def threaded_function(arg):
    for i in range(arg):
        print("running")
        sleep(1)


if __name__ == "__main__":
    thread = Thread(target=threaded_function, args=(10,))
    thread.start()
    thread.join()
    print("thread finished...exiting")</code>

Penjelasan:

  • Fungsi threaded ditakrifkan dengan argumen arg dan di dalamnya, anda boleh melakukan sebarang operasi yang anda inginkan.
  • Dalam urutan utama, contoh kelas Thread dibuat dengan threaded_function sebagai sasarannya dan sekumpulan argumen sebagai parameter args.
  • start() dipanggil pada objek thread untuk mulakan pelaksanaannya.
  • join() digunakan untuk menunggu urutan menyelesaikan pelaksanaan sebelum meneruskan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh membuat benang dalam Python menggunakan fungsi tanpa subkelas Benang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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