码迷,mamicode.com
首页 > 编程语言 > 详细

C#进程、线程、CPU

时间:2020-01-10 21:55:10      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:读写   告诉   计算   访问   之间   运行   函数   进程创建   不能   

===============================================C#线程===========================================================================

基本知识:

线程和进程

1.在创建进程时,内核会为进程创建相应的堆栈,每个进程会有两个栈,一个是用户栈,另外一个则是内核栈

2.一个进程中,包含多个线程

3.当你打开一个程序很慢,这是因为此时的CPU运行的进程数太多,该进程需要等待调度,才能真正运行

4. 一般来说,打开一个应用程序就会创建一个进程

5. 一个进程的内存空间是可以共享的,每个线程都可以使用这些共享内存

6. 一个线程在占用某些共享内存时,其他的线程就不能进来,必须要等前一个线程走完才能够使用共享内存,这个时候就需要加一把互斥锁(mutex),告诉其他线程这块共享内存已被占用!防止多线程读写通一块共享内存

7.有些内存区域,只能供给固定的线程使用,这里就会牵扯一个词叫信号量(semaphore)数量,即这个内存区域只能供给固定数目的线程访问,满了线程后,后面的线程只能排队,直到有线程让出,后面的线程才能进入,保证多个线程不会冲突


=============================操作系统的设计======================================================
1. 以多进程形式,允许多个任务同时运行

2. 以多线程的方式,把进程分为不同的部分进行

3. 协调机制:防止进程与线程之间产生的冲突,运行进程之间内存共享

===============================CPU================================================================

1.计算机的核心是CPU,它负责所有的计算任务,时刻在运行

2.单个CPU一次只能运行一个任务

内核:提供操作系统最基本的功能,负责管理系统的进程、线程、设备驱动程序、文件和网络系统

Cpu寄存器: 是Cpu用来存储数据的小型存储区域

用户模式栈:在函数执行执行之前记录函数的地址,然后等函数调用完之后,再返回前面所记录的地址

内核模式栈:在调试的时候 不能修改代码的原因是 用户模式栈不能访问内核模式栈 ,在执行之前代码都被送去内核了

C#进程、线程、CPU

标签:读写   告诉   计算   访问   之间   运行   函数   进程创建   不能   

原文地址:https://www.cnblogs.com/XiangZiPeng/p/12178158.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!