在第一次运行,系统中已经运行了一个程序(实例)
我再一次运行该程序, 这个程序不应该再运行怎么 实现呀

解决方案 »

  1.   

    提供一种思路 当登陆的时候建立一个socketserver
    再次登陆的时候如果发现端口有冲突 就说明已经有实例启动
      

  2.   

    (1)用jni,写c的进程判断
    (2)用Sprite_bei() 的方法
    (3)运行之后写一个文件。如果文件存在,说明运行。但是出异常就不准了
      

  3.   

    按这个模式来
    class Single
    {
      private Single(){}
      private static final Single  st=new Single();
      public static getSingle()
      {
        return st;
      }
    }
      

  4.   

    还是用socket吧,但用这个要避开常用的端口。
      

  5.   

    在java6中可用jps来查看,很简单,具体例程见
    http://bbs.netjava.org/index.php?PHPSESSID=3d878224a45a8c176c57a12495b883c6&topic=22.0
      

  6.   

    public class Singleton { 
      private static Singleton instance = null;  public static synchronized Singleton getInstance() {  if (instance==null)
        instance=new Singleton();
      return instance;   } } 
      

  7.   

    在第一次运行,系统中已经运行了一个程序(实例)
    我再一次运行该程序
    如果是在一台电脑上就是在一个虚拟机上运行啊,
    那用单态模式就可以了,而且作者的意图应该是在同一JVM上吧
      

  8.   

    错了,呵呵,这个要考虑进程问题,用单态模式无法解决,收回偶前面那贴(SORRY)