亚洲综合在线一区二区三区-日韩超碰人人爽人人做人人添-麻豆国产精品久久人妻-无码人妻丰满熟妇啪啪-天堂精品一区二区三区-99久久综合狠狠综合久久aⅴ

×

php多線程如何使用?

分類:云服務資訊 編輯: 瀏覽量:100
2021-07-27 14:56:38

??PHP本身是不是支持多線程的,不過我們可以借助其他的方法來實現多線程,比如shell服務和web 服務器,本文我們來講講這兩個方法如何實現。需要的朋友可以來參考一下。多線程是java中一個很不錯的東西,很多朋友說在php中不可以使用PHP多線程了,其實那是錯誤的說法PHP多線程實現方法和fsockopen函數有關,當有人想要實現并發功能時,他們通常會想到用fork或者spawn threads,并且你會得到比用 fork 或 thread 更好的性能。下面就由新網小編和大家講一講php多線程如何使用。

??一、php多線程如何使用?

??1、在PHP里使用shell_exec的函數,以shell的方式,啟動一個獨立的PHP腳本執行。這種方式,其實相當于在Web服務器處理過程中,獨立起了一個shell進程處理你的任務。這里,需要特別注意的是shell_exec的服務器安全,注意校驗參數,小心避免被帶入shell命令中。這個是比較容易實現的方式。

??2、使用PHP實現一個Server,監聽一個端口,為Web端提供服務。這里的實現方式有很多,通常要配合擴展,例如原生的pthread(多線程),開源擴展swoole等等。

??直接在web程序里使用多線程,是不恰當的,web請求通常有時間限制,例如timeout默認是30秒。你如何保證,在線程任務執行完之前,它的父進程仍然在工作?

??二、下面是PHP5中的解決方法:

??它運行的很好,但是在fsockopen()分析完hostname并且建立一個成功的連接(或者延時$timeout秒)之前,擴充這段代碼來管理大量服務器將耗費很長時間。

??因此我們必須放棄這段代碼;我們可以建立異步連接-不需要等待fsockopen返回連接狀態。PHP仍然需要解析hostname(所以直接使用ip更加明智),不過將在打開一個連接之后立刻返回,繼而我們就可以連接下一臺服務器。

??有兩種方法可以實現;PHP5中可以使用新增的stream_socket_client()函數直接替換掉fsocketopen()。PHP5之前的版本,你需要自己動手,用sockets擴展解決問題。

??三、我們用stream_select()等待sockets打開的連接事件

??stream_select()調用系統的select(2)函數來工作:前面三個參數是你要使用的streams的數組;你可以對其讀取,寫入和獲取異常(分別針對三個參數)。stream_select()可以通過設置$timeout(秒)參數來等待事件發生-事件發生時,相應的sockets數據將寫入你傳入的參數。

??下面是PHP4.1.0之后版本的實現,如果你已經在編譯PHP時包含了sockets(ext/sockets)支持,你可以使用根上面類似的代碼,只是需要將上面的streams/filesystem函數的功能用ext/sockets函數實現。主要的不同在于我們用下面的函數代替stream_socket_client()來建立連接:

??現在用socket_select()替換掉stream_select(),用socket_read()替換掉fread(),用socket_write()替換掉fwrite(),用socket_close()替換掉fclose()就可以執行腳本了!

??PHP5的先進之處在于,你可以用stream_select()處理幾乎所有的stream-例如你可以通過include STDIN用它接收鍵盤輸入并保存進數組,你還可以接收通過proc_open()打開的管道中的數據。小伙伴們要想獲得更多php多線程的內容,請關注新網!

聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發

送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時

需注明出處:新網idc知識百科

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 大伊香蕉在线精品视频75| 亚洲国产精品无码久久| 亚洲精品无码专区久久同性男| 无码av中文出轨人妻| 精品国产丝袜黑色高跟鞋| 婷婷丁香五月中文字幕| 18禁裸体动漫美女无遮挡网站| 极品熟妇大蝴蝶20p| 亚洲精品毛片av一区二区三区| 久久久久熟女一区二区三区| 亚洲精品无码成人片| 国产性色av免费观看| 国内精品国产成人国产三级| 亚洲国产精品成人精品无码区蜜臀| 精品一区二区三区国产在线观看| 日日碰狠狠躁久久躁综合网| 熟睡人妻被讨厌的公侵犯| 99久久久无码国产精品性| 日韩福利一区三区| 国产av天堂亚洲国产av麻豆 | 无码丰满熟妇| 无码成人aaaaa毛片| 伊人久久精品一区二区三区| 人妻av乱片av出轨| 国产成人亚洲综合app网站| 国产三级a在线观看| 精品国产一区二区三区av片 | 国产精品无码久久av不卡| 亚洲av极品视觉盛宴| 男女爱爱好爽视频免费看| 亚洲精品一本之道高清乱码 | 国产精品99久久久久久宅男小说| 狠狠色狠狠色综合日日不卡 | 欧美老熟妇乱xxxxx| 蜜臀av一区二区| 亚洲国产日韩制服在线观看| 国产日产免费高清欧美一区| 无码日韩人妻精品久久蜜桃| 国产一区二区三区成人欧美日韩在线观看| 午夜成人精品福利网站在线观看 | 久久精品熟女人妻一区二区三区|