多线程

进程是windows系统中的一个基本概念它包含者一个运行程序所需要的资源

通俗的话:当一个程序开始运行时。他就是一个进程 进程包括运行的程序和程序所使用的内存和系统资源,而一个进程又是多个线程所组成

使用。net建立的可执行程序exe 并没有直击继承到进程中,而是承载到应用程序域当中 应用程序域是。net引入的一个新概念,他比进程所占用的资源要少可以被看作一个轻量级的进程

在一个进程中可以包含多个应用程序域 一个应用程序域可以装载一个可执行程序 或者多个程序集 这样可以使应用程序域之间实现深度隔离 即使进程汇总分,某个应用程序域出现错误 也不会影响其他应用程序与的正常操作

应用程序域是进程中承载程序集的逻辑分区 在应用程序域当中 存在更细粒度的用于承载。net对象的实体 那就是。net上下文context

线程是进程的基本执行单元在进程入口执行第一个线程被视为这个进程的主线程

在。net 应用程序中,都是一main()方法作为入口的当调用此方法时系统会自动创建一个主线程

一个进程可以包括多个应用程序域,也有包括多个进程

线程可以穿梭在多个应用程序域当中 挡在同一个时刻线程只会处于一个应用程序域内

多线程是 指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。

System.Threading.Thread类 System.Threading.Thread是用于控制线程的基础类,通过Thread可以控制当前应用程序域中线程的创建、挂起、停止、销毁。

前台线程:只有所有的前台线程都结束,应用程序才能结束。默认情况下创建的线程都是前台线程 后台线程:只要所有的前台线程结束,后台线程自动结束。通过Thread.IsBackground设置后台线程。必须在调用Start方法之前设置线程的类型,否则一旦线程运行,将无法改变其类型。

所谓同步:是指在某一时刻只有一个线程可以访问变量。

进程:在是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。进程之间是相对独立的,一个进程无法访问另一个 进程的数据(除非利用分布式计算方式), 线程:是进程中的基本执行单元,在进程入口执行的第一个线程被视为这个进程的主线程。 多线程:在单CPU系统的一个单位时间(time slice)内,CPU只能运行单个线程,运行顺序取决于线程的优先级别。如果在单位时间内线程未能完成执行,系统就会把线程的状态信息保存到线程的本地 存储器(TLS) 中,以便下次执行时恢复执行。而多线程只是系统带来的一个假像,它在多个单位时间内进行多个线程的切换。因为切换频密而且单位时间非常短暂,所以多线程可 被视作同时运行。

原文地址:https://www.cnblogs.com/chenhangtian/p/11190098.html