Bagaimana untuk melaksanakan dua fungsi serentak dalam skrip Python menggunakan fungsi berulir?

Barbara Streisand
Lepaskan: 2024-10-25 08:09:28
asal
770 orang telah melayarinya

How to execute two functions concurrently in a Python script using a threaded function?

Mencipta Benang dalam Python

Masalah:
Bagaimana anda boleh melaksanakan dua fungsi secara serentak dalam skrip Python menggunakan fungsi berulir dan bukannya kelas?

Skrip Berfungsi:

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

class myClass():

    def help(self):
        os.system('./ssh.py')

    def nope(self):
        a = [1,2,3,4,5,6,67,78]
        for i in a:
            print(i)
            sleep(1)


if __name__ == "__main__":
    Yep = myClass()
    thread = Thread(target=Yep.help)
    thread2 = Thread(target=Yep.nope)
    thread.start()
    thread2.start()
    thread.join()
    print('Finished')</code>
Salin selepas log masuk

Penyelesaian Diperbaiki:

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

Penjelasan:

Daripada menggunakan kelas benang, skrip yang dipertingkatkan ini menunjukkan cara untuk mencipta benang secara terus dengan menghantar fungsi sasaran dan sebarang hujah yang diperlukan kepada pembina Thread. Parameter sasaran menentukan fungsi yang akan dilaksanakan dalam benang berasingan. Dalam kes ini, fungsi threaded_function() digunakan serentak dengan utas utama. Kaedah join() memastikan bahawa utas utama menunggu sehingga thread selesai sebelum meneruskan pelaksanaan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan dua fungsi serentak dalam skrip Python menggunakan fungsi berulir?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!