你new了两个对象出来,内存肯定得分配两个对象的空间,你说的“程序代码和资源的两次复制”不明白什么意思

解决方案 »

  1.   

    程序可以看做一个进程,一个进程有一个或者多个线程执行。多运行一个,就多开了线程,CPU各自处理不同的进程数据。
      

  2.   

    内存里只是2份代码和变量,资源看什么资源,如果是程序自己创建的内存对象(比如Image),会有2份
    但是资源文件只有一个,都是读的同一个配置文件
    而如果程序需要修改文件(比如写log),也是操作的同一个文件,除非路径(+文件名)也根据实例动态生成.有些程序是可以判断当前是否存在活动进程的
    ->
    bool runone;
    System.Threading.Mutex run = new System.Threading.Mutex(true, 进程名称, out runone);
    就可以判断当前是否有活动进程
      

  3.   

    两个独立的进程,但是dll等共享的是一份。