Thread - 介绍
2020-07-05 本文已影响0人
face_to_face
前面的一些话
最近总感觉需要学习多线的相关的知识,希望能提升自己。掌握多线程的知识较为困难的,要相信饭总是一口一口吃的,将学习的知识进行模块细化,记录下每一天学习的知识,这样就能够一步一步的掌握多线的知识。
1. 什么线程
线程(Thread)就是操作系统任务调度与执行任务最小的单位。
2. 线程与进程的区别
进程就如同一个工厂,线程就如同工厂中的一条生产线,作为工厂的进程与作为生产线的线程具有以下区分:
- 进程包含着线程
- 进程是操作系统分配资源的最小单位,线程就是操作系统执行任务最小单位。
- 进程拥有独立的内存空间,线程的内存空间来自与进程,就是说线程之间共享同一内存。
- 一个项目运行在一个进程中,进程拥有全部的执行程序与资源,线程只有自身的运行栈与程序计算器
三、线程安全
3.1 线程安全
前面已经介绍过同一进程下,线程之间的内存是共享,当数据是多线程共享的时候,并且多线程也会操作数据出现不可预测,就会产生线程安全的问题。
不可预测有如下情况:
* 执行步骤是无序的
* 执行是非原子性
* 执行后的数据是非可见
解决线程安全的方案,日后在详细介绍。