PythonTingkat: Lanjutan7 min
Parallelism dengan Modul multiprocessing (Bypass GIL)
Manfaatkan seluruh inti prosesor CPU (multi-core) untuk komputasi berat tanpa terhalang Global Interpreter Lock (GIL) menggunakan modul multiprocessing dan ProcessPoolExecutor.
Threading vs Multiprocessing di Python
Pratinjau TerbukaKarena keberadaan GIL di CPython, threading standar hanya cocok untuk tugas I/O bound. Untuk tugas CPU-bound seperti pengolahan gambar atau data masif, gunakan modul multiprocessing yang menjalankan proses sistem operasi terpisah dengan ruang memori independen.
Contoh Kode Sintaks
from concurrent.futures import ProcessPoolExecutor
import os
def hitung_kuadrat(angka):
# Dijalankan pada core CPU terpisah
return angka, angka * angka, os.getpid()
if __name__ == '__main__':
daftar_angka = [10, 20, 30, 40, 50]
with ProcessPoolExecutor() as pool:
hasil = list(pool.map(hitung_kuadrat, daftar_angka))
for num, sq, pid in hasil:
print(f"Angka: {num} -> Kuadrat: {sq} (Diproses oleh PID: {pid})")Live Compiler Runner
Akses Kursus Wajib Login
Buka Akses Penuh Silabus & Praktikum
Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.
145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi