Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan dua fungsi serentak dalam skrip Python menggunakan fungsi berulir?

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

Barbara Streisand
Barbara Streisandasal
2024-10-25 08:09:28762semak imbas

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>

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>

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!

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