Tidur Python () Fungsi (Dengan Contoh)

Fungsi sleep () menangguhkan (menunggu) pelaksanaan utas semasa selama beberapa saat.

Python mempunyai modul bernama waktu yang menyediakan beberapa fungsi berguna untuk menangani tugas yang berkaitan dengan masa. Salah satu fungsi yang popular di antaranya adalah sleep().

The sleep()pelaksanaan fungsi menggantung benang semasa bagi nombor yang diberikan beberapa saat.

Contoh 1: Tidur Python ()

  import time print("Printed immediately.") time.sleep(2.4) print("Printed after 2.4 seconds.") 

Inilah cara program ini berfungsi:

  • "Printed immediately" dicetak
  • Menangguhkan pelaksanaan (Kelewatan) selama 2.4 saat.
  • "Printed after 2.4 seconds" dicetak.

Seperti yang anda lihat dari contoh di atas, sleep()mengambil nombor floating-point sebagai argumen.

Sebelum Python 3.5 , masa penggantungan sebenarnya mungkin kurang daripada argumen yang ditentukan untuk time()fungsi tersebut.

Sejak Python 3.5 , masa penggantungan sekurang-kurangnya detik yang ditentukan.

Contoh 2: Python membuat jam digital

 import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1) 

Dalam program di atas, kami mengira dan mencetak waktu tempatan semasa di dalam loop tanpa had. Kemudian, program menunggu selama 1 saat. Sekali lagi, waktu tempatan semasa dikira dan dicetak. Proses ini berterusan.

Semasa anda menjalankan program, output akan menjadi seperti:

 02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM… 

Berikut adalah versi program di atas yang sedikit diubahsuai.

  import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("", end="", flush=True) time.sleep(1) 

Untuk mengetahui lebih lanjut, lawati jam digital di shell Python.

Multithreading di Python

Sebelum membincangkannya sleep()dalam program multithread, mari kita bincangkan proses dan utas.

Program komputer adalah kumpulan arahan. Satu proses adalah pelaksanaan arahan tersebut.

Benang adalah subset proses. Satu proses boleh mempunyai satu atau lebih utas.

Contoh 3: Python multithreading

Semua program di atas dalam artikel ini adalah program utas tunggal. Berikut adalah contoh program Python multithreaded.

  import threading def print_hello_three_times(): for i in range(3): print("Hello") def print_hi_three_times(): for i in range(3): print("Hi") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start() 

Semasa anda menjalankan program, output akan menjadi seperti:

 Hello Hello Hi Hello Hi Hai 

Program di atas mempunyai dua utas t1 dan t2. Benang ini dijalankan menggunakan t1.start()dan t2.start()pernyataan.

Perhatikan bahawa, t1 dan t2 berjalan serentak dan anda mungkin mendapat output yang berbeza.

Lawati halaman ini untuk mengetahui lebih lanjut mengenai Multithreading di Python.

time.sleep () dalam program multithreaded

The sleep()pelaksanaan fungsi menggantung benang semasa bagi nombor yang diberikan beberapa saat.

Sekiranya program single-threaded, sleep()menangguhkan pelaksanaan thread dan proses. Walau bagaimanapun, fungsi menggantung utas daripada keseluruhan proses dalam program multithreaded.

Contoh 4: tidur () dalam program multithreaded

 import threading import time def print_hello(): for i in range(4): time.sleep(0.5) print("Hello") def print_hi(): for i in range(4): time.sleep(0.7) print("Hi") t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()

Program di atas mempunyai dua utas. Kami telah menggunakan time.sleep(0.5)dan time.sleep(0.75)untuk menangguhkan pelaksanaan kedua utas ini masing-masing selama 0,5 saat dan 0,7 saat.

Bacaan yang Disyorkan: Python time.sleep () sleeps thread

Artikel menarik...