学习笔记(01):Java并发编程精讲-线程安全

立即学习:https://edu.csdn.net/course/play/26270/326857?utm_source=blogtoedu

学习线程,首先来了解一下进程的概念:

          进程是操作系统中应用程序的一个实例,它是划分内存空间的最小单元,是应用程序之间的边界,不同的进程代表不同的应用程序,不能共享代码和数据空间。

          简单来说就是当一个程序进入到内存开始运行,OS就会创建一个对应的进程,也就是一块占有独立内存资源的空间,这个空间只能被它所包含的一到多个线程所访问。

          OS同时会创建一个主线程, 所以说一个进程至少包含一个线程。

Ⅰ.线程概述:

       线程,它是某个进程的一个执行单元,负责当前进程中程序的执行。

     简单来说,它是CPU调度的最小单元。

Ⅱ.用途:

      通常用于在一个程序中需要同时完成多个任务时,将每个任务定义为一个线程,多个线程一起工作,称为多线程。

 Ⅲ.进程和线程的联系和区别

     (1) 进程有独立的内存单元,而同一进程的多个线程共享代码和内存空间,从而极大地提高了程序的运行效率.

     (2)相对于进程来说,线程切换时系统负荷小,占用的资源少,可以把它看作轻量级的进程.

     (3) 线程不能独立运行,它必须依存在进程中。

 Ⅳ.线程的六种状态

    (1)新建状态(New):当线程对象被创建时,即进入了新建状态,比如:Thread t = new MyThread();

       (2) 就绪状态(Runnable):当调用t.start()方法,线程进入就绪状态,并不是立即执行,而是线程已经做好准备,随时可被CPU调度执行;

     (3)运行状态(Running):当CPU开始调度处于就绪状态的线程时,程序进入运行状态,也就是说,线程只有进入就绪状态,才有可能进入运行状态;

     (4)阻塞状态(Blocked):处于执行状态中的线程,由于某种原因放弃CPU的使用权而停止执行,进入阻塞状态,

       (5) 休眠状态(Sleep):

       (6) 死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值