代码拉取完成,页面将自动刷新
同步操作将从 阿宝/threadtask 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
pthread_sigmask(SIG_SETMASK, []);
$running = true;
pcntl_async_signals(true);
pcntl_signal(SIGINT, function() use(&$running) {
printf("SIGINT\n");
$running = false;
}, false);
$var1 = ts_var_declare(1);
$var2 = ts_var_declare(2);
register_shutdown_function(function() {
printf("EXIT: %s\n", THREAD_TASK_NAME);
});
if(defined('THREAD_TASK_NAME')) {
$i = 0;
if(THREAD_TASK_NAME == 'task0') {
while($running) {
ts_var_get_or_set($var1, ++$i, function() use($var2, &$i) {
return ts_var_get_or_set($var2, ++$i, function() use($i) {
usleep(5000); // 5ms
return $i;
});
});
if($i >= 10000) {
$i = 0;
echo "OK\n";
}
}
} else {
while($running) {
ts_var_get_or_set($var2, ++$i, function() use($var1, &$i) {
ts_var_get_or_set($var1, ++$i, function() {
usleep(5000); // 5ms
return 1;
});
});
if($i >= 10000) {
$i = 0;
echo "OK\n";
}
}
}
} else {
define('THREAD_TASK_NAME', 'main');
create_task('task0', __FILE__, [], null, null, $waits[0]);
create_task('task1', __FILE__, [], null, null, $waits[1]);
$var = ts_var_declare(null);
while($running && ($n = task_get_threads()) > 0) {
sleep(1);
echo "$n\n";
}
task_wait(SIGINT);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。