频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
Jetty 启动 server.join的含义
2014-01-21 11:36:54         来源:Shb_derek的专栏  
收藏   我要投稿
public static void main(String[] args) throws Exception
{
   Server server = new Server(8080);
   server.setHandler(new HelloHandler());

   server.start();
   server.join();
}



如果server没有起来,这里面join()函数骑到的作用就是使线程阻塞, 这里join()函数实质上调用的jetty的线程池。(这里和Thread中的join函数相似)


如果没有join函数,jetty服务器也能正常启动或运行正常,是因为jetty比较小,启动速度非常快。


然而如果你的application比较重的话, 调用join函数,能够保证你的server真正的起来。





PS: Thread的join方法的作用


thread1.Join()//这样写是告诉大家它不是静态方法
* 三个重载方法,基本功能相同,都是阻塞掉当前代码运行的线程,只有当thread1线程执行完毕,阻塞掉的线程才重新进入运行状态
* ①thread1.join(),无参无返回值,如果调用该方法时,thread1终止,则返回,否则,被阻塞的线程就永远阻塞下去
* ②thread1.join(int) 参数是超时时间(单位ms),返回bool,如果在超时时间内thread1终止,则返回true,同时被阻塞的线程进入运行状态,
* 否则,返回false,同时被阻塞的线程和thread1都处于运行状态,并且交替执行
* ③thread1.join(timespan)同②。
*
*
*线程中设计join方法的意义(个人理解):实现了线程的顺序执行,而线程的顺序执行就有同步的意义,所以这里也可以看做线程同步的一种方式



在网上看到有人说“将两个线程合并”。这样解释我觉得理解起来还更麻烦。不如就借鉴下API里的说法:

“等待该线程终止。”

解释一下,是主线程(我在“一”里已经命名过了)等待子线程的终止。也就是在子线程调用了join()方法后面的代码,只有等到子线程结束了才能执行。(Waits for this thread to die.)




点击复制链接 与好友分享!回本站首页
相关TAG标签 含义
上一篇:用 SpriteKit 做一个逃逸游戏 (2)
下一篇:struts2,Jquery uploadify异步上传文件
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站