一、linux下的php多線程php
下面所講的東西是源自php的pcntl_fork函數.由於這個函數依賴操做系統fork的實現,因此本文所講的東西只適用於linux/unix。那麼先看看這個函數的用法吧.php手冊上是這麼說的:html
1linux 2sql 3json 4多線程 5app 6socket 7函數 8spa |
|
經過pcntl_fork建立一個子進程,若是返回值是-1的話,那麼說明子進程建立失敗.建立成功的進程id會返回給父進程,0返回給子進程.很差理解吧,因此應該這樣寫:
1 2 3 4 5 6 7 8 9 |
|
這樣一改好理解多了,若是你父進程但願知道子進程正常退出的話,能夠加上前面的pcntl_wait。
2.經過stream_socket_client 方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
三、經過多進程代替多線程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
來源:https://www.php.cn/php-weizijiaocheng-381235.html