PHP单线程和多线程调用

<?php
 //curl_multi_init()
 session_start();
 $url = ‘http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_share‘;
 $ch = curl_init();
 curl_setopt ($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)‘);
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_TIMEOUT,43200);
 $dxycontent = curl_exec($ch);
 curl_close($ch);
 echo $dxycontent;
?>

<?php  $urlArray = array (  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=100000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=105000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=110000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=115000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=120000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=125000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=130000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=140000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=145000&end=5000"  );  $mh = curl_multi_init();  $conn = Array();  foreach($urlArray AS $key => $url){   $conn[$key] = curl_init();   curl_setopt ($conn[$key], CURLOPT_URL, $url);   curl_setopt($conn[$key], CURLOPT_USERAGENT, ‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)‘);   curl_setopt ($conn[$key], CURLOPT_RETURNTRANSFER, 1);   curl_setopt($conn[$key], CURLOPT_TIMEOUT,43200);   curl_multi_add_handle($mh,$conn[$key]);  }    $running=null;  // 执行批处理句柄  do {   //usleep(10000);   curl_multi_exec($mh,$running);  } while ($running > 0 );    $results = Array();  foreach($conn as $ckey => $cvalue){      curl_close ($conn[$ckey]); //关闭语柄   $results[$ckey] = curl_multi_getcontent($conn[$ckey]);   curl_multi_remove_handle ( $mh, $conn[$ckey] ); //释放资源

}  curl_multi_close($mh);  print_r( $results); ?>

bat调用

@echo off
 echo "begin..................................."
 d: \xampp\htdocs\trial
 php moveUser_1.php
 pause

时间: 2024-12-14 09:58:55

PHP单线程和多线程调用的相关文章

Operating System-Thread(5)弹出式线程&amp;&amp;使单线程代码多线程化会产生那些问题

本文主要内容 弹出式线程(Pop-up threads) 使单线程代码多线程化会产生那些问题 一.弹出式线程(Pop-up threads) 以在一个http到达之后一个Service的处理为例子来介绍弹出式线程. 上面的例子中传统的做法有可能是在Service中有一个线程一直在等待request的到达,等request到达后这个线程会开始检查请求最后在进行处理.当这个线程在处理request的时候,后面来的request会被block,一直到线程处理完当前request为止.如下图所示. 弹出

sevlet是单线程还是多线程,在多线程下如何编写安全的servlet程序

sevlet是单线程还是多线程,在多线程下如何编写安全的servlet程序 首先明确:Servlet是单实例的,即对于同一种业务请求只有一个是实例.不同的业务请求可以通过分发来产生多个实例.其次:单实例的原因我想是因为单实例足可以处理某一个请求,就像ibatis的Querydao.UpdateDao一样都是单实例的.再次:为什么单实例足可以处理某一个请求,因为Servlet是单实例多线程的.http://hiyachen.cublog.cn  [email protected]先看一段代码:pa

单线程和多线程执行对比—Python多线程编程

单线程和多线程执行对比 本章使用递归求斐波那契.阶乘与累加函数的执行来对比单线程与多线程: 斐波那契.阶乘与累加(mtfacfib.py): ? 1 import threading 2 from time import sleep, ctime 3 ? 4 class MyThread(threading.Thread): 5 def __init__(self, func, args, name=''): 6 threading.Thread.__init__(self) 7 self.na

Spring Boot 定时任务单线程和多线程

Spring Boot 的定时任务: 第一种:把参数配置到.properties文件中: 代码: package com.accord.task; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** * 从配置

JavaScript是单线程还是多线程(转)

多线程要考虑线程之间的资源抢占,死锁,冲突之类一系列问题.JavaScript作为一门客户端脚本,貌似没有多线程的一些列问题.那么JavaScript是单线程还是多线程?通过查资料总结了JavaScript运行的原理.如下: 一.为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. JavaScript的单线程,与它的用途有关.作为浏览器脚本语言,JavaScri

单线程、多线程、多进程、协程比较,以爬取新浪军事历史为例

演示python单线程.多线程.多进程.协程 1 import requests,json,random 2 import re,threading,time 3 from lxml import etree 4 5 lock=threading.Lock() 6 semaphore=threading.Semaphore(100) ###每次限制只能100线程 7 8 user_agent_list = [ 9 "Mozilla/5.0 (Windows NT 6.1; WOW64) Appl

NDK使用技巧、多线程调用注意、ndk中的工具使用

//NDK 使用技巧和多线程调用注意 //http://www.ibm.com/search/csass/search/?q=ndk&sn=dw&lang=zh&cc=CN&en=utf&hpp=20&dws=cndw&lo=zh void demo(JNIEnv* env, jobject thiz) { //这JNI接口指针可以存储,但只在当前线程仍然是有效的. /* A JNI environment pointer (JNIEnv*) is

【转】 Pro Android学习笔记(七一):HTTP服务(5):多线程调用HttpClient

目录(?)[-] 应用共享HttpClient对象的同步问题 创建共享HttpClient代码 创建共享对象 创建可共享的HttpClient对象 使用共享HttpClient对象的代码 基础代码 修改HTTP连接的参数 使用共同的Appcliation对象 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件,转载须注明出处:http://blog.csdn.net/flowingflying/ 应用共享HttpClient对象的同步问题 在之前的例子中,HttpClient只

多线程调用生成主键流水号存储过程产生主键冲突问题解决方案

遇到开发多线程测试插入数据的时候发现主键冲突问题 问题具体描述如下: -------------------------------------------------------------- 调用Procedure_insert Procedure_insert Begin Call procedure(获取流水号) Insert into table values(流水号作为id,其他列); End 流水号存储过程: Update 统计表 统计字段+1 Update 统计表 最终流水号 s