php如何实现多线程
php中可以实现多线程,是一种利用旧的exec函数通过异步处理方法实现多线程的,exec函数本身就是一个执行外部程序的php函数。下面我们就来具体看看php多线程的实现方法。
推荐手册:php完全自学手册
我们首先来看一个示例
<?php class execMulti { function MultithreadTest { exec("php static_massive.php > /dev/null &"); echo "处理完成了"; } } ?>
当执行上述操作时,即使在耗时的处理结束之前也显示处理完成。
exec("php static_massive.php > /dev/null &");
由于“ > / dev / null& ”返回的值丢失,我们不会等待响应。
因此,处理完成指示比耗时处理更快。
但是,该方法不知道耗时的处理何时结束。
不要忘记考虑采取日志的执行,登录DB等方法向用户传递执行结果。
用于多线程的方法(pthreads)
最后,介绍使用PHP扩展模块pthreads的方法。
它可以比上面使用exec的方法更简单。
①配置环境并安装php
请使用vagrant等准备喜欢的环境。
php 需要使用线程安全版本,这是多线程和安全的实现。
从官方下载线程安全版本的 PHP。
访问以下内容并从图中的红框下载。
http://www.php.net/downloads.php
此外,对于线程安全安装,您需要使用configure选项指定-enable-maintainer-zts。
./configure --enable-maintainer-zts
根据需要,也可以安上Apache和mysql的选项。
用以下命令确认了php的版本就可以了。
php -v
②pthreads的安装
我们来下载zip格式。
https://github.com/krakjoe/pthreads/archive/master.zip
解压zip,移动到解压缩文件,然后执行phpize。
如果您在PHP模块列表上运行pthreads,则可以执行以下操作。
php -m
根据环境的不同,这一块的设定也会有所不同,可以用环境名+pthreads等进行检索来寻找信息。
③尝试使用多线程
示例如下
<?php class pthreadsTest extends Thread { public function run () { sleep(5); } } $ts1 = new pthreadsTest(); $ts1->start(); $ts2 = new pthreadsTest(); $ts2->start(); ?>
因为sleep(5)被调用两次,所以需要10秒,但实际上它将是5秒。
相关文章推荐:
1.PHP中多线程的实现方法
2.php实现多线程的三种方法
相关视频推荐:
1.独孤九贱(4)_PHP视频教程
Atas ialah kandungan terperinci php如何实现多线程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
