多线程机制-Java

多线程机制



对多线程机制的支持是Java最显著的特点之一,多线程机制允许在程序中并发执行多个指令流,每个指令流都可以称为一个线程,且彼此间相互独立。Java提供同时、独立的处理多个任务的机制。多个线程共存于同一个JVM进程里面,所以共用相同的内存空间,且线程间的通信为轻量级的。


一般情况下,Java的线程可以分为五种状态:新建状态、就绪状态、运行状态、阻塞状态和死亡状态。
1、新建状态:生成线程对象,但没有调用该对象的start方法,这时线程处于创建状态。
2、就绪状态:当调用了线程对象的start方法之后,该线程就进入了就绪状态。但此时线程调度程序还未把该线程设置为当前线程,即该线程处于就绪状态。在线程运行后,也可从等待或者睡眠中转化为就绪状态。
3、运行状态:线程调度程序将处于就绪状态的线程设置为当前线程,此时线程进入了运行状态,并开始执行run方法中的代码。
4、阻塞状态:正在运行的线程被中断(比如:等待某个事件的发生)而进入阻塞状态。导致线程阻塞的方法有sleep、suspend、wait。
5、死亡状态:线程的run方法执行结束或者调用stop方法后,该线程就会死亡,此时无法再使用start方法令其进入就绪状态。


线程的同步机制是保护多线程安全访问竞争资源的一种策略。其目的是控制竞争资源的正确访问,因为只要在访问竞争资源的时候保证同一时刻只能有一个线程访问即可。在具体的Java代码中需要完成以下两个操作:把竞争访问的资源标识为private;同步哪些修改变量的代码,使用synchronized关键字同步方法或者代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值