多线程操作方法

1.线程休眠(sleep)
2.线程让步(yield)
3.等待其他线程终止(join)
4.线程停止

线程休眠(sleep)

public static native void sleep(long mills) throws InterruptedException 

让当前线程暂缓执行(running->blocked),等到了预计时间后再恢复执行(blocked->runnable)
立即交出CPU,但不会释放锁

线程让步(yield)

public static native void yield()

1.暂停执行当前的线程对象,并执行其他线程。
2.==让当前线程交出CPU,同时不释放锁。==但是无法确定具体交出CPU事件,并且只能让相同优先级的线程有获取CPU的机会
3.running->runnable
4.runnable->running

join方法–等待其他线程终止

1.只是对object提供的wait()方法做了一层封装
2.等待该线程终止,如果在主线程中调用该方法,会让主线程休眠。让调用该方法的线程执行完毕后再恢复主线程

线程停止

设置标记位
调用Thread提供的stop()方法

不安全,已经被Deprecates

调用Thread类的interrupt()

1.只是将线程状态置为中断状态,不会中断一个正在运行的线程。
2.只是给线程传递一个中断的信号,程序可以根据此信号判断是否需要终止
3.当线程中使用了wait,sleep以及join导致此线程阻塞,则interru方法会在线程中抛出interruptException,并且将线程由中断状态由true置为false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值