
C# 线程、进程、多线程还傻傻分不清楚,
(资料图)
线程是什么呢?
进程又是什么呢?
多线程又是什么,项目上怎么开启多线程呢?
我就不多说了,直接进入主题..........
我都都知道电脑任务管理器中,总是会看到很多的进程,我们长话短说,如有不对,请评论区留言,共同探讨进步。
一、什么是进程、线程、多线程等等。
1、进程:一个正在运行的程序,就是一个进程。
2、线程:一个进程中会包含若干个线程,每个线程执行相应的子任务。
3、多线程:一个项目中开启多个线程(子任务)。
二、开启线程,线程开销有哪些?
1、线程的空间开销:
(1)Thread内核数据占用:OSID和Context。
(2)用户堆栈模式:程序找那个使用的“局部变量”和“参数传递”所使用的堆栈。
[用户堆栈:系统会分配1M的空间用于“用户堆栈”,即一个线程通常分配1M内存,用于参数传递、局部变量]
(3)内核堆栈模式
在CLR线程操作的时候,通常会调用win32底层方法(即通常说的函数)。
2、线程的时间开销
(1)、资源使用的通知开销。
【运行一个程序,通常会加载很多的DLL(动态链接库)、exe(可执行文件)、元数据等】
(2)、时间片切换开销。
总结:对于项目上线程的使用,我们随便使用线程会适得其反,根据具体情况具体分析,有项目例子,大家 想学习的留下邮箱。好了,下次再继续分享更多关于C#的小知识。