Java复习笔记(三)多线程概述

在这里插入图片描述

一、相关知识储备

1.进程与线程的关系:进程是程序的一次执行,一个进程有多个线程,这些线程共享此进程的所有系统资源
2.线程的状态:

在这里插入图片描述 初始状态:创建了一个线程对象
就绪状态:线程具备运行的所有条件,在就绪队列中,在等待操作系统调度
运行状态:线程正被CPU处理
阻塞状态:线程在等待一个事件,逻辑上不可执行,在阻塞队列中
结束状态:线程执行结束,也就是run方法执行结束

3.多线程

多线程编程是指让程序使用多个线程同时分别做一件事情的不同部分,或者同时做不同的事情。但并不是所有的事情都适合多线程,多线程编程的目的是提高程序执行效率、提高人们工作效率等

4.并发与并行

线程安全:经常用来描绘一段代码。指在并发的情况之下,该代码经过多线程使用,线程的调度顺序不影响任何结果。这个时候使用多线程,我们只需要关注系统的内存,cpu是不是够用即可。反过来,线程不安全就意味着线程的调度顺序会影响最终结果,如不加事务的转账:



void transferMoney(User from, User to, float amount){
  to.setMoney(to.getBalance() + amount);
  from.setMoney(from.getBalance() - amount);
}


同步:Java中的同步指的是通过人为的控制和调度,保证共享资源的多线程访问成为线程安全,来保证结果的准确。如上面的代码简单加入@synchronized关键字。在保证结果准确的同时,提高性能,才是优秀的程序。线程安全的优先级高于性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值