1,线程和进程有什么不同?

  (1),线程是Thread,进程是Process。一般你运行一个应用程序,就生成了一个进程, 这个进程拥有自己的内存空间,这个进程还可以内部生成多个线程, 这些线程之间共用一个进程的内存空间,所以线程之间共享内存是很容易做到的,多线程协作比多进程协作快一些,而且安全.

  (2),一个程序可以包含多个进程(不推荐使用,为什么看上边。)。

      (3),线程的划分尺度小于进程,使得多线程程序的并发性高。

  (4),进程包含资源,如window句柄,文件系统句柄或其他内核对象。每个进程都分配了虚拟内存。一个进程至少包含一个线程。操作系统会调度线程。线程有一个优先级,每个线程都有自己的栈(每个线程都有自己的执行堆栈和程序计数器。),但程序代码的内存和堆由一个进程的所有线程共享。这使一个进程的所有线程之间的通信非常快---该进程的所有线程都寻址相同的虚拟内存。但是,这也使处理比较困难,因为多个线程可以修改同一个内存位置。

  ---进程管理的资源包括虚拟内存Window句柄,其中至少包含一个线程。线程是运行程序所必须的。

 

2,什么是线程?和使用线程的几个原因?

  线程(Thread)是程序中独立的指令流。使用线程有几个原因,假设从应用程序中进行网络调用需要一定的时间,不希望用户等待,用户可以同时执行其他一些操作,或者甚至取消发送给服务器的请求。这些都可以使用线程来实现。

 

3,什么是进程?

  进程是操作系统进行资源分配的单位

  ---在Windows下,进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。

  同一个计算机系统中如果允许两个或两个以上的进程处于运行状态,这便是多任务。多任务带来的好处是明显的,比如你可以边听mp3边上网。

  原则上一个CPU只能分配给一个进程,以便运行这个进程。我们通常使用的计算机中只有一个CPU,也就是说只有一颗心,要让它一心多用,同时运行多个进程,就必须使用并发技术

  如果一台计算机有多个CPU,情况就不同了,如果进程数小于CPU数则不同的进程可以分配给不同的CPU来运行,这样,多个进程就是真正同时运行的,这便是并行技术。但如果进程数大于CPU数,则仍然需要使用并发技术。

  并行运行的效率显然高于并发运行,所以在多CPU的计算机中,多任务的效率比较高。但是,如果在多CPU计算机中只运行一个进程(线程),就不能发挥多CPU的优势

 

4,什么是多线程?

  多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。

 

5,什么是多进程?

  多进程是指同时运行多种程序。或者一个程序多个进程。

   这里谷歌浏览器使用的就是多进程技术,3个进程。

 

6,什么是系统进程和用户进程?

  进程可以分为系统进程用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就不必我多讲了吧,所有由你启动的进程都是用户进程

posted on 2014-05-11 17:49  学到老死  阅读(1456)  评论(0)    收藏  举报