Rumah > Artikel > pembangunan bahagian belakang > Pengaturcaraan berbilang benang Python: petua utama tentang cara meningkatkan kecekapan
Tingkatkan kecekapan: Kuasai kemahiran utama pengaturcaraan serentak berbilang benang Python
Abstrak: Dalam era maklumat hari ini, kecekapan telah menjadi matlamat yang dikejar oleh semua lapisan masyarakat. Bagi pembangun program, meningkatkan kecekapan pengaturcaraan sudah pasti penting. Python ialah bahasa pengaturcaraan yang mudah dipelajari dan berkuasa berbilang benang adalah salah satu cara penting untuk meningkatkan kecekapan. Artikel ini akan memperkenalkan beberapa teknik dan contoh utama untuk membantu pembaca menguasai pengaturcaraan serentak berbilang benang dalam Python dengan lebih baik.
import threading def print_numbers(): for i in range(1, 11): print(i) def print_letters(): for letter in 'abcdefghij': print(letter) if __name__ == '__main__': t1 = threading.Thread(target=print_numbers) t2 = threading.Thread(target=print_letters) t1.start() t2.start() t1.join() t2.join() print("Done")
Dalam contoh di atas, kami telah mencipta dua utas, satu utas bertanggungjawab untuk mencetak nombor dan satu lagi utas bertanggungjawab untuk mencetak huruf. Gunakan kaedah start() untuk memulakan utas, dan kaedah join() digunakan untuk menunggu pelaksanaan utas selesai.
import concurrent.futures def calculate_square(number): return number * number if __name__ == '__main__': numbers = [1, 2, 3, 4, 5] with concurrent.futures.ThreadPoolExecutor() as executor: results = executor.map(calculate_square, numbers) for result in results: print(result)
Dalam contoh di atas, kami menggunakan ThreadPoolExecutor untuk mencipta kumpulan benang dan mengagihkan tugas kepada benang dalam kumpulan benang untuk dilaksanakan melalui kaedah map().
import threading count = 0 lock = threading.Lock() def increment(): global count with lock: count += 1 if __name__ == '__main__': threads = [] for _ in range(100): t = threading.Thread(target=increment) t.start() threads.append(t) for t in threads: t.join() print(count)
Dalam contoh di atas, kami menggunakan kelas Kunci untuk memastikan operasi atom kiraan dan mengelakkan masalah yang disebabkan oleh berbilang benang mengubah suai kiraan pada masa yang sama.
Kesimpulan:
Dengan menguasai kemahiran utama pengaturcaraan serentak berbilang benang Python, kami boleh meningkatkan kecekapan program dengan lebih baik. Dalam aplikasi praktikal, benang berbilang atau benang tunggal harus dipilih secara munasabah berdasarkan ciri-ciri tugas untuk mengelakkan masalah konkurensi. Pada masa yang sama, perhatian harus diberikan untuk menggunakan kunci untuk melindungi sumber yang dikongsi dan mengelakkan masalah seperti persaingan data.
Atas ialah kandungan terperinci Pengaturcaraan berbilang benang Python: petua utama tentang cara meningkatkan kecekapan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!