了解.NET Framework同步异步多线程

了解.NET Framework同步异步多线程
多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理(Chip-level multithreading)或同时多线程(Simultaneous multithreading)处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理(Multithreading)”。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程(*译作“执行绪”),进而提升整体处理性能—来自百度
了解.NET Framework同步异步多线程
计算机的概念:定义
进程:看的见得,摸不着得东西,一个程序上,使用的全部东西,比如:
在任务管理器里就有进程。应用在电脑上回使用CPU、内存、磁盘、网络,这些东西系统都会分配给你用的。
线程:看不见得,摸不着得东西,程序执行的最小单位,进程在执行操作或者响应,都是由线程完成的,执行过程中,使用到全部的资源的合集。比如:在微信发条信息给张三,信息要上传到服务器,张三看到,在这个过程中就是一个操作。
多线程:一个进程中并发执行线程
Thread:是.NET平台上封装的类,用来对应计算机的线程
Thread.CurrentThread.ManagedThreadId:当前的线程ID --id:.NET平台封装的
1、.NET平台没有线程 2、Thread只是封装了一下操作系统的Thread .NET识别Thread分配ID 3、.NET平台的线程只有操作系统有
同步:发起调用,必须等着完成后才能进入下一步,在同步运行中,窗体会出现拖动不了,等待线程完成,才能拖动。
了解.NET Framework同步异步多线程
异步:发起调用,不用等着完成,直接进入下一步,原来的操作也会完成,
了解.NET Framework同步异步多线程
问题就在这里出出现:在启用异步多线程,不占线程,不等待,13、10和15、12,当13开启用15结束,10开启用12结束,不占线,不等待。启用同步线程要执行完成一个有一个,占用.NETUI界面线程,开启9要用9结束,一个等一个。
了解.NET Framework同步异步多线程