进程啊,是用操作系统来调度应用程序,每个应用程序都有自己的数据区。一旦你在一个程序内启动一个进程,原则上两个程序之间就不再有联系,如果要两个进程要共享数据或者通讯就要采取特殊的办法。
县城是java 特有的东西。
多个县城运行于一个java程序内部,共享同一个应用程序的数据,节省系统资源,如果你同步做得好啊,你就牛啦!

解决方案 »

  1.   

    我还是不明白ASP中用的进程和JAVA里的线程有什么不同真心请教您:
    进程和线程的区别。我知道线程有两种模式,一种是Single multithreaded,就是你所说的第二种情况,一种是multiple threadS的是倒象是你所说的进程。
    即使是在VB COM里,也分为single, apartment两种模式,分别是你说的第二个和第一个。我被弄糊涂了。进程和线程难道不都是Process吗???
      

  2.   

    上边的兄弟:
         怎么能将县城是JAVA特有的东西呢?那么为软的编译系统怎么讲呢?
      那么在API函数中的CREATETHRODE 是怎么讲呢?
         关于县城与进程的区别么:
         进程的概念比线程的概念广。。包括进程。。为了节约资源以及共享资源产生了现成的说法
    代序
      

  3.   

    县城是java语言本身的一种机制。
    说白了就是在一个应用程序控制下,多个threads在运行。他们共享的数据是属于一个应用程序的。通常的java类是单县城的。(single thread.)
    通过继承Thread 实现run()可以实现同一个类的不同instance同时运行。
    他们可以同时访问共有数据,但是每个县城也拥有自己的数据。。


    a.start();
    .
    .
    b.start();
    .
    当a.start()运行后,一个县城已经在执行自己的任务。但是同时a.start()后面的语句继续同时执行。比如通讯程序:一个县城从一个端口接受,另一个县城往另一个端口发送。
    c,c++,vb等没有这种机制,他们通过调用操作系统级别的函数(fork,exec...)来启动进程。
    理论上每个进程只能访问自己的数据。如果有1000个县城,他们可以共享1k数据(通过sychronized控制)
    可是1000个进程却不能直接共享。
    我的理解是这样。
    我说明白了?
      

  4.   

    我什么时候说线程是JAVA特有的东西了???
    我看到“ASP用进程,JAVA用线程”自己还糊涂不过来呢!
    我只知道操作系统里通信用process,到了高级语言里为了开发方便都有调用和创建process的命令。
    我知道JAVA里的thread有两种模式,一种是单一的多线程的,就是内存共享的,一种是独立线程的,就是内存独立划分的。
    而在COM里,也有同样区分的两种模式,一种叫APARTMENT,一种叫SINGLE MODEL。
    无论如何,什么语言里不都是这样处理的吗?为什么会说ASP用进程,JSP用线程这样的区别来。
    以上是我的问题。至于你说的进程与线程的概念我也不太明白。
    你的进程到底指什么?
      

  5.   

    当然在intel平台上我们可以模拟县城,比如刚才那位兄弟所言,CREATETHRODE 也许能实现某些特性,通过软中断的确可以自己去实现甚至做的漂亮些可以盖过微软,但是当我拿到工作站上去运行时我需要重新考虑这种实现方法。因为这不是语言本身提供的机制。
      

  6.   

    OBJECTION!
    通常是SINGLE THREADED?知道SERVLET的默认模式是哪一种吗???COM技术里及其他MIDDLE WARE里的OBJET多是什么模式下的吗?SWING GUI中事件的DISPATCH是什么模式的?
      

  7.   

    fork是UNIX系统中创建子PROCESS的方法,I KNOW。VB中是SINGLE PROCESS的???你不要自己看不到命令就以为人家没有写嘛。VB是封装得最完美的界面开发工具,你看不到并不意味着它不存在,GATES替你打点好了。COM中十有八九用APARTMENT MODEL。要说别的没有线程概念我虽然有些想不通,但是也还勉强过得去,C、C++没有线程概念我就要吐血了。
      

  8.   

    SERVLET已经经过多次封装,当然是多现成的,你如果读他的源代码,你会发现肯定有一级父类是实现多现成的,如果那一级父类没有继承或实现多县城,那么你现在见到的servlet仍然是但县城的。至于中间件,swing也是如此。
      

  9.   

    越说越乱了套了。再讨论下去我们到最后要追溯到0101001才能讨论清楚。
    你的意思是说进程是属于操作系统范畴的,而线程是属于高级语言的?如果是这样解释,我觉得说得过去。如果ASP基于底层的可能是C语言的,那么COM应当也是了?I've never heard of it.
      

  10.   

    Servlet封装不封装和线程是单线程还是多线程有什么关系?
      

  11.   

    很有趣啊!告诉我多线程和单线程两种不同模式的线程要继承的类有什么不同。我从未听说过你要实现多线程编程的SERVLET要继承的类与单线程编程要继承的类不同哦?
      

  12.   

    God God. 
    What a mess.
      

  13.   

    com是建立在多进程的基础上,只不过通过操作系统的协调才让人觉得集成性很出色。在windows系列的操作系统种,java的运行效率不会比vb好,但是java优势不在于此。
      

  14.   

    你使用的servlet不用你实现多县城是因为他已经在父类中实现了,你所编的程序已经处于一个县城中
      

  15.   

    啊!累了。改天再继续吧。good night.
      

  16.   

    通过WINDOWS操作系统的协调???
    WINDOWS操作系统在维护协调多线程方面的能力为0。
      

  17.   

    无论我的模式是单线程的还是多线程的我只继承一个SERVLET对吧?你有听说过谁因为这写某种特定的线程模 式不得不继承特定的“线程类”的吗?都是继承THREAD或是RUNNABLE的。我没见有人因为要写单线程的SERVLET就得继承某一特定的类。
    Good night.