Thread - 介绍

前面的一些话

最近总感觉需要学习多线的相关的知识,希望能提升自己。掌握多线程的知识较为困难的,要相信饭总是一口一口吃的,将学习的知识进行模块细化,记录下每一天学习的知识,这样就能够一步一步的掌握多线的知识。

1. 什么线程

线程(Thread)就是操作系统任务调度与执行任务最小的单位。

2. 线程与进程的区别

进程就如同一个工厂,线程就如同工厂中的一条生产线,作为工厂的进程与作为生产线的线程具有以下区分:

  • 进程包含着线程
  • 进程是操作系统分配资源的最小单位,线程就是操作系统执行任务最小单位。
  • 进程拥有独立的内存空间,线程的内存空间来自与进程,就是说线程之间共享同一内存。
  • 一个项目运行在一个进程中,进程拥有全部的执行程序与资源,线程只有自身的运行栈与程序计算器

三、线程安全

3.1 线程安全

前面已经介绍过同一进程下,线程之间的内存是共享,当数据是多线程共享的时候,并且多线程也会操作数据出现不可预测,就会产生线程安全的问题。
不可预测有如下情况:

* 执行步骤是无序的
* 执行是非原子性
* 执行后的数据是非可见

解决线程安全的方案,日后在详细介绍。

你可能感兴趣的:(Thread - 介绍)