小编nic*_*ick的帖子

PHP sleep()导致高CPU使用率

我正在运行一个主要睡觉的CLI脚本.脚本每10秒左右执行一次.问题是,脚本在睡眠时占用了94%的CPU使用率.

我设置它的方式是:

while(1){
    sleep(10);
    doStuff();
}
Run Code Online (Sandbox Code Playgroud)

虽然这是按预期工作的,但是存在一个明显的问题.在C++/Java中,我可以简单地设置一个可以消除循环问题的计时器.另外,我希望我不需要cron工作.

有没有其他方法可以做到这一点?


更新

显然我的原始脚本(相当大)从未真正进入睡眠模式,因此while循环运行单元化并烧毁CPU周期.对于有同样问题的人,请确保不是您的情况!

php

5
推荐指数
1
解决办法
4153
查看次数

C++ char单引号vs双引号和内存内部工作

我想知道程序在运行时在内存方面的作用,因为它遇到以下情况:

char chr = 'a';
char chrS[] = "a";
cout << "Address: " << &chr << endl;
cout << "Address: " << &chrS << endl;
Run Code Online (Sandbox Code Playgroud)

这产生以下结果:

Address: a?c?3?
Address: 0x7fff33936280
Run Code Online (Sandbox Code Playgroud)

为什么我不能得到"chr"的内存地址?

c++ iostream cout memory-address

4
推荐指数
1
解决办法
339
查看次数

MySQL从前一行添加值

我有一个单列的表.列是这样的:

1
2
3
4
5
...
Run Code Online (Sandbox Code Playgroud)

我想创建一个查询,显示另一个列,该列将添加以前的值.所以:

1 1 ( 0 + 1 )
2 3 ( 1 + 2 )
3 5 ( 2 + 3 )
4 7 ( 3 + 4 )
5 9 ( 4 + 5 )
9 14 (5 + 9)
45 54 ( 9 + 45)
Run Code Online (Sandbox Code Playgroud)

我将如何构建一个查询来实现这一目标?

从本质上讲,我只想difference之间ROW[X],和ROW[X-1].

mysql running-total

4
推荐指数
1
解决办法
6953
查看次数

PHP切换功能无法识别"小于0"

$bytes = 0;
switch($bytes){
    case $bytes == 0:
        echo 'Equal to 0.';
    break;
    case $bytes < 0:
        echo 'Less than 0.';
    break;
}
Run Code Online (Sandbox Code Playgroud)

输出"小于0".

为什么?

php

3
推荐指数
1
解决办法
2469
查看次数

同时使用Java类型转换和调用方法

Java的新手.

我有一个叫做的类GraphicsObject和一个Bug扩展它的类.

我有一个ArrayList,其中包含所有GraphicsObject:

private ArrayList<GraphicsObject> gc = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

然后我有一个函数可以调用每个名为updateObjects()的帧.

public void updateObjects(){
        for(int i = 0; i < gc.size(); i++){
            if(gc.get(i).toString().equals("Bug") ){
                (Bug)gc.get(i).moveNorth();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

类型转换失败并且moveNorth()方法永远不会被识别,因为类GraphicsObject没有那个方法,只有Bug有.

有解决方案吗

java

2
推荐指数
2
解决办法
1378
查看次数

通过变量值获取常量值

我需要获取一个常量值.常量名称存储在变量中.

<?php

define('SomeConstant', 12345);

$variable = 'SomeConstant';

?>
Run Code Online (Sandbox Code Playgroud)

如何使用变量回显"12345"?

php

2
推荐指数
1
解决办法
1883
查看次数

PHP - 按名称在循环中取消设置变量

假设我已经声明了一些变量 - 但我不确切知道哪个变量,我只有一个带变量名的数组.

$variable_list = array('var1', 'var2', 'var3', 'var4');
Run Code Online (Sandbox Code Playgroud)

我们继续并分配一些值.

foreach($variable_list as $var_name){
$$var_name = rand(100,1000);
}
Run Code Online (Sandbox Code Playgroud)

现在我想以类似的方式取消设置这些变量.不从列表中删除它们,但取消设置ACTUAL变量.

foreach($variable_list as $var_name){
unset($var_name);
}
Run Code Online (Sandbox Code Playgroud)

这不起作用.有任何想法吗?

php

0
推荐指数
1
解决办法
1385
查看次数

标签 统计

php ×4

c++ ×1

cout ×1

iostream ×1

java ×1

memory-address ×1

mysql ×1

running-total ×1