多线程基本概念

java多线程
1,run(),start()
run()方法的访问控制符号必须是public的,返回值void
start()调用start()方法使线程处于可运行状态,这意味着它可以由JVM调度并执行。这并

不意味着线程就会立即运行
2,sleep(),yield()
sleep 方法可以使低优先级的线程得打执行的机会,
同样也可以让高的优先级有执行的机会。
yield()方法只能使同优先级的线程有执行的机会。
3,wait(),notify().notify()都是由java.lang.Object类提供。
三个方法用来协调多个线程对共享数据的存取,所以必须在synchronized语句块内使用这个

三个方法。
wait(),将当前线程处于休息状态,同时释放锁标志。
notify(),唤醒线程。

------------------------------------------------------------------
当线程执行了对一个特定对象的wait()调用时,那个线程被放到与那个对象相关的等待池中。

此外,调用wait()的线程自动释放对象的锁标志。

对一个特定对象执行notify()调用时,将从对象的等待池中移走一个任意的线程,并放到锁

标志等待池中,那里的线程一直在等待,直到可以获得对象的锁标志。notifyAll()方法将从对

象等待池中移走所有等待那个对象的线程并放到锁标志等待池中。只有锁标志等待池中的线程

能获取对象的锁标志,锁标志允许线程从上次因调用wait()而中断的地方开始继续运行。
注意,不管是否有线程在等待,都可以调用notify()。如果对一个对象调用notify()方法,而在这个对象的锁标志等待池中并没有线程,那么notify()调用将不起任何作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值