当前位置:网站首页>1.线程简介
1.线程简介
2022-08-09 09:23:00 【过来我的小熊】
程序,线程,进程
概述
**程序:**程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念
**进程(Process):**进程是执行程序的一次执行过程,是一个动态的概念。是系统资源分配的单位
**线程(Thread):**线程就是独立的执行路径,是CPU调度和执行的单位
注意:
- 通常一个进程是可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存下的意义。
- 很多多线程都是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器
- 如果是模拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错觉
总结
- 线程就是独立的执行路径
- 在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程
- main()称为主线程,位系统的入口,用于执行整个程序
- 在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统机密相关的,先后顺序是不能人为的干预的
- 对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制
- 线程会带来额外的开销,如cpu调度时间,并发控制开销
- 每个线程在自己的工作内存交互,内存控制不当会造成数据不一致
边栏推荐
- "The camera can't be used" + win8.1 + DELL + external camera + USB drive-free solution
- MySQL查漏补缺(二)排序检索、过滤数据、模糊查询、正则表达式
- map去重代码实现
- swap交换分区
- TypeScript简记(一)
- MySQL Leak Check (4) Stored Procedures and Cursors
- Domestic with Google earth software, see the download 19th level high-resolution satellite images so easy!
- 国产谷歌地球,地形分析秒杀同款地图软件
- Do you know the principles of test cases and how to write defect reports?
- .equals ==
猜你喜欢
随机推荐
JS-常用方法整理
The div simulates the textarea text box, the height of the input text is adaptive, and the word count and limit are implemented
Anti App so层对抗分析
swap交换分区
接口设计
MySQL event_single event_timed loop event
运行flutter项目时遇到的问题
MySQL锁
MySQL查漏补缺(五)不熟悉的知识点
[Environmental Construction] tensorrt
真·鸡汤文
【环境搭建】onnx-tensorrt
RPC服务远程漏洞
游戏测试的概念是什么?测试方法和流程有哪些?
unittest测试框架原理及测试流程解析,看完绝对有提升
功能自动化测试实施的原则以及方法有哪些?
初窥门径代码起手,Go lang1.18入门精炼教程,由白丁入鸿儒,首次运行golang程序EP01
软件测试的流程规范有哪些?具体要怎么做?
oracle查看表空间占用情况并删除多余表所占空间
【百日行动】炎炎夏日安全不松懈 消防培训“加满”安全知识“油”








