您现在的位置: 阿标在线 >> 技术文章 >> JSP技术 >> Application/Applet >> 正文

网络在线游戏开发心得(服务器端)(五)

[ 录入:阿标 | 点击数: | 更新时间:2005-1-23 17:11:00]
五、线程

  实际上本系统并没有复杂的线程管理,但是我想提供一个控制台让管理员可以管理游戏主线程,可以让它停止、中段、恢复、重启动,本来的设计是管理员通过与线程A打交道,通过A去管理主线程B,但是熟悉java线程的朋友都知道,线程互相管理基本上就是不实际的,举个最简单的例子,A如何销毁B?也许你会说调用B的destroy()方法就好了,网上很多讲解java线程的资料也确实是这么说的,但是他们都是鬼扯的,自己去看看java源代码吧,Thread.destroy()方法的实际代码如下:



public void destroy()

{

throw new NoSuchMethodError();

}



  事实真相是,Thread.destroy()方法自始至终就没有被实现过。所有写文章,教别人用这个方法销毁线程的人,都去撞墙吧,丢人丢大了。



  最好的办法是A负责生成一个B并且启动它,然后B自己管理生存周期,A和B通过使用可共享的方法来通信,这是sun推荐的做法。



下一篇:异步消息通信



  • 上一篇文章:

  • 下一篇文章: