作者darkk6 (Mr. Pan)
看板PHP
標題[請益] php 某些 IO 的 block
時間Fri Jun 29 14:19:43 2012
小弟對 php 不算很熟,有幾個問題想請教,
主要是關於 php 進行 IO 的部分:
底下幾個 php 函數:
1. fopen 後用 fscanf() 這類的函數
會不會 block 住這個程序?
也就是說會停在 fscanf 這行等待讀取
如果沒有資料近來,就不會往下跑
2. php socket 的 socket_read 是否也會 block 呢?
因為執行這段的 client 會很多,而打算 hold 住 client 一小段時間
如果用 while( lock ){ .... },似乎會很耗電腦資源(一直跑回圈)
(sleep 這個我不考慮,因為時間不是固定的)
也就是想要能夠 hold 住 client 一段時間並且盡量不要用太多伺服器資源
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.39.75
※ 編輯: darkk6 來自: 140.116.39.75 (06/29 14:20)
1F:→ MOONRAKER:為啥要hold client 何不改成讓client過一會來poll你 06/29 14:49
2F:推 alpe:socket_read 有 non_block mode 06/30 00:22