对不起,如果标题没有解释.让我试着进一步解释.
我的代码看起来像这样:
<?
//Grab the number in count.txt
$count = intval(file_get_contents('count.txt'));
//Move the number up one
file_put_contents('count.txt', ++$count);
$number = file_get_contents('count.txt');
//Force Download
header('Content-Disposition: attachment; filename=DataFiles'.$number.".csv");
header('Content-Type: application/octet-stream');
//The data
foreach($array as $info){
echo $info."\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
$ array是一个数组.
现在有时数据量可能超过5000,因此如果数据超过5000,则为每个回显的5000个数据创建另一个文件.Ea:如果$ array中有20,000个数据,那么它将总共生成4个文件.
所以我有一个发送到PHP脚本的复选框.基本上,我的复选框当然会创建一个数组.看到它就是其中之一$var[].
基本上,我的数组在代码中看起来像这样:
$vars = array('12345:0','45678:0','78910:0','3434:1','2345:1');
foreach ($vars as $var) {
$vinfo = explode(":", $var);
$vgroup = $vinfo[0];
$vacct = $vinfo[1];
// Various function calls with those variables.
}
Run Code Online (Sandbox Code Playgroud)
现在,正如你所看到的那样.我正在分拆vinfo和vaccount.在我的来源.我有两个帐户(在此示例中).有些组属于0,有些组属于1.我想在foreach循环switchAccount("details");中的$vacct变量发生变化时运行该函数.在这种情况下,它应该只切换一次(默认为0).
"帐户"($vacct)开关根据复选框中的用户输入而有所不同.但是(通常)总是上升一个数字.再次,取决于管理员输入.
现在,我有一个for循环遍历列表的循环,通常此列表的长度为100-500。在for循环中,每个项目都会打开一个新线程。所以现在我的代码看起来像这样:
threads = []
for item in items:
t = threading.Thread(target=myfunction, args=(item,))
threads.append(t)
t.start()
Run Code Online (Sandbox Code Playgroud)
但是我不想每个线程都启动一个新线程,因为每个线程最多只需要花费几秒钟即可执行myfunction。我仍然想做我的循环,在参数中的每个项目上调用myfunction。但是一旦完成就关闭线程,并允许另一个线程接管。我要打开的最大线程数不小于3,不大于20。尽管更简单,但该范围可以变化。我只是不想在循环中的每个项目上打开一个新线程。
对于那些好奇的人,如果重要的话。myfunction是我定义的函数,它使用urllib将发布请求发送到站点。
我是python的新手,但不是一起编码的新手。对不起,菜鸟问题。