RT。
我用java写了一个服务端程序,main函数里启动了服务器,但是服务器只能有一个,启动之后如果再启动的话会出现两个服务端~~
首先想到用单例模式创建唯一实例,但是main函数每次执行都是与上一个启动的main无关的~~单例模式行不通啊!!
想到到一些软件运行了之后再双击启动会提示已启动,请问这是怎么实现的啊??
请高手不吝赐教~~

解决方案 »

  1.   

    服务器里用到线程了没啊
    如果有Thread的话可以通过查看线程的存活状态来判断程序是否已启动
      

  2.   

    我的服务器负责启动界面和绑定一些对象,并未用线程。那是不是可以通过判断main的线程是否已运行,决定是否可以再执行main呢?
      

  3.   

    如果是web的话,在tomcat启动的时候可以用Listener 来启动一个线程
      

  4.   

    启动程序的时候帮定系统的资源。绑定server socket也行。
      

  5.   

    创建一个文件,main方法启动时获取此文件上的文件锁。这样如果第一次的进程还存在,当main第二次启动时获取文件锁会失败,就可以避免重复启动了。