前一段时间在配置Dubbo的时候,从网上找到的例子,代码中经过main函数将环境启动,而且经过while(true)让程序保持,即不关闭。当我有两个服务项目同时启动的时候,个人电脑已经卡的不能动了(8G内存,2核CPU)。 html
当时同事提示我,是while的问题,我还一脸迷惑。后来,老大告诉,Dubbo的启动,能够用他提供的Main类来启动,看了一下它的程序,在启动完成后,他执行了一个wait()方法。 函数
业余时间,我经过设置了个sleep方法,发现我启动的Dubbo,CPU利用率也不高了。不明缘由。因而,从网上查询信息,发现涉及到操做系统的知识,不由悔恨当初没有好好学习。具体以下: 学习
当切换到别的进程时,别的进程告诉系统本身没什么事情要作,不须要那么多的时间,这个时候系统就会切换到下一个进程,直到回到这个死循环的进程上,而这个进程不管何时都再循环,因此一直会报告有事情要作,系统就会把尽量多的时间分给他。其实是这个死循环任务用光了别的进程节省下来的时间。
(摘自:http://blog.sina.com.cn/s/blog_74a459380102uwcb.html) spa