usleep函数如何影响php语句的执行?

wood87654321 2017-08-08 12:18:11
假定我要用PHP循环执行以下指令:

1、从数据库select+echo输出一页数据 //网络传输约需20毫秒
2、usleep(20000);

当PHP执行语句1后,是要等到底层花大约20毫秒完成网络传输之后再执行语句2?还是立即执行语句2,语句1中的网络传输工作交由socket后台执行?
如果答案是后者,那么当执行语句2暂停20毫秒时,语句1中尚未完成的网络传输工作是利用这20毫秒继续完成?还是跟着一起暂停下来了?

问题说白了就是我能不能用这种方法来实现定时提交数据。
...全文
227 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wood87654321 2017-08-08
  • 打赏
  • 举报
回复
谢谢。但这样我又得多请教两句了:无延迟的循环输出在传输层面不会“堆死”吗?对方作为客户端能处理得过来吗?如果处理不过来会产生丢包吗?我打算用usleep就是怕这个
xuzuning 2017-08-08
  • 打赏
  • 举报
回复
对于你的这个应用,你只需依次输出查询到的结果就行了。没必要让程序停一下而浪费人家的时间
wood87654321 2017-08-08
  • 打赏
  • 举报
回复
为什么无意义呢? 在实际应用中是对方调用我的接口请求提交给他上万条记录,而且这个接口他只调用一次,然后我要把这大量记录分段echo输出给他,php自身的定时操作很麻烦,所以我这样开始输出一段——暂停等待传输完——再开始输出下一段,这构想有什么问题吗?
xuzuning 2017-08-08
  • 打赏
  • 举报
回复
但是用这种方法来实现定时提交数据。 是后无意义的
wood87654321 2017-08-08
  • 打赏
  • 举报
回复
也就是说用这种方法来分页提交大量数据完全没问题了?
xuzuning 2017-08-08
  • 打赏
  • 举报
回复
不会
wood87654321 2017-08-08
  • 打赏
  • 举报
回复
那么就是关键的第2问了,usleep会不会把尚未完成的网络传输也暂停了
hongmei85 2017-08-08
  • 打赏
  • 举报
回复
立即执行2啊,不会等网络传送结束再执行

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧