Contoh Multithreading Sederhana pada PHP
Multithreading adalah sebuah istilah proses secara paralel, bisa dibilang komputer mengerjakan beberapa perintah sekaligus dalam waktu bersamaan. Tujuan Multithreading adalah memaksimalkan kinerja komputer dalam memproses data dengan kecepatan yang lebih dari cara biasa.
Pada PHP, multithreading bisa dilakukan dengan menggunakan pthreads
https://github.com/krakjoe/pthreads
Pada akun github di atas, tertera lengkap dokumentasi pthreads
Instalasi pthreads pada XAMPP / WAMPP:
1) Create one php file
phpinfo() --> Run
Example: Info
PHP Version: 5.6.31
Compiler: MSVC11 (Visual C++ 2012)
Architecture: x64
2)Go to website:
http://windows.php.net/downloads/pecl/releases/pthreads/
Example 2.0.9 file
Compiler:VC11
Architecture:x64
php_pthreads-2.0.9-5.6-ts-vc11-x64.zip download.
3)Extract php_pthreads.dll and pthreadVC2.dll.
wamp\bin\php\php5.6.31\ext\ --> copy php_pthreads.dll
wamp\bin\php\php5.6.31\ ---> copy pthreadVC2.dll
wamp\bin\apache\apache2.4.27\bin --> copy pthreadVC2.dll
4)edit php.ini
wamp\bin\apache\apache2.4.27\bin\php.ini\ --> Add extension=php_pthreads.dll
wamp\bin\php\php5.6.31\php.ini\ --> Add extension=php_pthreads.dll
5)Restart Wamp
Saatnya Testing !
1. Buat 2 File PHP dengan coding berikut, dan jalankan di browser :
HASIL TESTING :https://anotepad.com/note/read/599yd6 https://anotepad.com/note/read/x5tr5f
Pada kasus diatas, setiap proses saya berikan simulasi waktu proses 5 detik.
Terlihat hasilnya ,
dengan multithreading,
4 buah proses dilakukan dalam waktu bersamaan,
mulai bersamaan dan selesai dalam waktu yang juga bersamaan
(semua diselesaikan dalam 5 detik).
Sedangkan yang menggunakan looping biasa, membutuhkan waktu 5 detik x 4 = 20 detik
dari proses pertama sampai proses terakhir.
Selamat Mencoba !
0 Comment :