多线程 - 进程与线程



1. 进程:

  • 磁盘上的一个可执行文件在被启动后,就是一个进程。

  • 如果想手动创建一个进程应调用CreateProcess。Windows加载一个进程时,它只是打开一个内存映象文件,然后把可执行文件的内容或DLL加载进内存。

  • 进程是非活跃的,它们什么也不做,真正活动起作用的是线程。

  • 一个进程就是一个加载过的程序,它不是正在运行,也不是正在执行。当要访问内存时,才将真正的物理内存映射给它。线程才是执行者。

  • 所以进程包含:一个私有的地址空间,它是进程可以使用的一组虚拟内存地址空间; 程序的相关代码、数据源; 系统资源,比如操作系统同步对象等; 至少包含一个线程(主线程)。


2. 线程:

  • 每个进程都有一个或多个线程。

  • 线程是程序的执行单位(线程本身并不包括程序代码,真正拥有代码的是进程),也是进程内的可调度实体。

  • 每个进程至少包括一个线程,称为主线程,一个进程如果有多个线程,就可以共享同一进程的资源,并可以并发执行。

  • 一个线程可以创建和撤销另一个线程。

  • 线程是进程的一个执行单元,是操作系统分配CPU 时间的基本实体。每个线程都有一个Context,它记录了包含有关线程状态信息的数据结构,当线程运行时,它包含了关于CPU中寄存器状态的信息。

  • 每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。

  • 线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。


标签:Delphi

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://evelee.net/blog/?id=18