官方网站建设账务处理,打码网站怎么做,创建网站流程图,WordPress明月浩空线程的方法
1、sleep(long millis) 线程休眠#xff1a;让执行的线程暂停一段时间#xff0c;进入计时等待状态。 static void sleep(long millis):调用此方法后#xff0c;当前线程放弃 CPU 资源#xff0c;在指定的时间内#xff0c;sleep 所在的线程不会获得可运行的机…线程的方法
1、sleep(long millis) 线程休眠让执行的线程暂停一段时间进入计时等待状态。 static void sleep(long millis):调用此方法后当前线程放弃 CPU 资源在指定的时间内sleep 所在的线程不会获得可运行的机会此状态下的线程不会释放同步锁。 该方法更多的是用来模拟网络延迟让多线程并发访问同一资源时的错误效果更加明显。2、wait() 线程等待一旦一个线程执行到wait(),就释放当前的锁。 注意此方法必须在同步代码块或同步方法中3、notify()/notifyAll() 唤醒唤醒wait的一个或所有的线程 注意此方法需和wait()成对使用必须在同步代码块或同步方法中 注意 sleep() 和 wait() 的区别sleep指定时间内当前线程放弃 CPU 资源线程不会释放同步锁wait 会放弃 CPU 资源同时也会放弃 同步锁4、join() 联合线程表示这个线程等待另一个线程完成后死亡才执行join 方法被调用之后线程对象处于阻塞状态。写在哪个线程中哪个线程阻塞 这种也称为联合线程就是说把当前线程和当前线程所在的线程联合成一个线程5、 yield() 礼让线程表示当前线程对象提示调度器自己愿意让出 CPU 资源。 调用该方法后线程对象进入就绪状态所以完全有可能某个线程调用了 yield() 方法但是线程调度器又把它调度出来重新执行。sleep() 和 yield() 方法的区别①、都能使当前处于运行状态的线程放弃 CPU资源把运行的机会给其他线程②、sleep 方法会给其他线程运行的机会但是不考虑其他线程优先级的问题yield 方法会优先给更高优先级的线程运行机会③、调用 sleep 方法后线程进入计时等待状态调用 yield 方法后线程进入就绪状态。join示例在此我向大家推荐一个架构学习交流君羊821169538 运行结果 运行结果分析在main线程中调用线程A的join()方法此时main线程停止执行直至A线程执行完毕main线程再接着join()之后的代码执行
线程的通信 运行结果 运行结果分析当第一个线程获取锁之后打印后wait,释放锁第二个线程获取锁并唤醒第一个线程打印后wait交替打印