解决方案
1.在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源
代码:
cpu消耗结果:
1.在一个死循环中设置一个跳出条件,但是这样的做法会占用大量CPU资源
代码:
[xluren@test time_sleep]$ cat demo.lua
local old_time=os.time()
function demo()
new_time=os.time()
while true
do
if new_time - old_time >100
then
break
end
end
end
demo()
[xluren@test time_sleep]$
cpu消耗结果:
[xluren@test ~]$ pidstat -p 30993 1 60
Linux 2.6.32-220.el6.x86_64 (test.145) 12/07/2014 _x86_64_ (1 CPU)
03:17:37 PM PID %usr %system %guest %CPU CPU Command
03:17:38 PM 30993 97.00 1.00 0.00 98.00 0 lua
03:17:39 PM 30993 97.98 0.00 0.00 97.98 0 lua
03:17:40 PM 30993 98.02 0.00 0.00 98.02 0 lua
03:17:41 PM 30993 99.00 1.00 0.00 100.00 0 lua
03:17:42 PM 30993 97.00 1.00 0.00 98.00 0 lua
^C
[xluren@