任务、进程、线程区别
任务,是指软件完成的一个活动。一个任务可以是一个进程也可以是一个线程。简而言之,就是一系列共同达到某一目的的操作。例如读取数据并将数据存放入内存。
进程,常被定义为程序的执行,可以把一个进程看成一个独立的程序,在内存中有其完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于他自己。
线程,某一进程中一路单独运行的程序。也就是线程存在于进程之中,一个进程由一个或多个线程构成,各线程共享相同的代码和全局数据,但各有自己的堆栈。由于堆栈是每个线程一个,因此局部变量对每一线程来说是私有的。由于所有县城共享同样的代码和全局数据,他们比进程更紧密,线程间的相互作用更容易,因为他们本身有某些供通信用的共享内存:进程的全局数据。
一个进程和一个线程最显著的区别是:线程有自己的全局数据。线程存在于进程中,因此一个进程的全局变量由所有的线程共享。由于线程共享同样的系统区域,操作系统分配给一个进程的资源对该进程的所有线程都是可用的,正如全局数据可供所有线程使用一样
进程概念
进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配