简单的线程阻塞
来源:互联网 发布:天津网络报警平台 编辑:程序博客网 时间:2024/06/07 12:35
线程阻塞简单方法
yeild()
当调用该方法的时候,相当于告诉线程调度机制我可以不忙执行,当然这个方案不一定会执行。
本地方法public static native void yield();
join()
当调用该方法时,会产生如下效果,线程A在线程B上调用B.join()那么A线程将被挂起,直到B.isAlive()返回false的时候才会回复。我们同时可以自己调用interrupt方法来终端join()方法
public final void join() throws InterruptedException { this.join(0L);}//默认传入参数0Lpublic final synchronized void join(long var1) throws InterruptedException { long var3 = System.currentTimeMillis();//获取当前时间 假设1513000171971 long var5 = 0L; if (var1 < 0L) { throw new IllegalArgumentException("timeout value is negative"); } else { if (var1 == 0L) { //默认穿的是0,因此进入此方法 while(this.isAlive()) { //如果这个线程一直是alive状态,那么就会等待 this.wait(0L); } } else {//如果有值,则代表是一个超时参数,当超过此时间,若还没有结束,那么就自己返回 while(this.isAlive()) { //我们假设var1=1000 long var7 = var1 - var5; //第一次var5是0,即var1==var7==1000 if (var7 <= 0L) {//1000<=0L———>false break;//直到运行到break } this.wait(var7);//等待1000L //var5 = 1513000191262-1513000171971=19291 var5 = System.currentTimeMillis() - var3; } } } }
Sleep()
public static native void sleep(long var0) throws InterruptedException; public static void sleep(long var0, int var2) throws InterruptedException { if (var0 < 0L) { throw new IllegalArgumentException("timeout value is negative"); } else if (var2 >= 0 && var2 <= 999999) { if (var2 >= 500000 || var2 != 0 && var0 == 0L) { ++var0; } sleep(var0); } else { throw new IllegalArgumentException("nanosecond timeout value out of range"); } }
阅读全文
0 0
- 简单的线程阻塞
- 线程的阻塞
- java线程的阻塞
- 线程阻塞的原因
- 线程的阻塞
- 线程阻塞的原因
- 线程的阻塞
- 线程的阻塞
- java线程的阻塞
- Java线程的阻塞
- 线程的阻塞
- 线程的阻塞
- performSelectorOnMainThread线程的阻塞与非阻塞
- java 线程阻塞的问题
- 线程阻塞的一种情况
- Java中线程的阻塞
- Java线程阻塞的概念
- 内核级线程的阻塞
- [LeetCode] 83. Remove Duplicates from Sorted List ❤
- 关于stdlib头文件
- 头文件string与string.h
- js-grid简单使用
- Framebuffer设备应用程序编程
- 简单的线程阻塞
- 4. Median of Two Sorted Arrays
- 一个Text,设置不同的颜色,有颜色部分添加点击事件
- js中的DOM编程
- MongoDB 3.4 mongodump 和mongorestore 备份和回复bson数据
- 5、Tensorflow:TensorFlow环境搭建-基于ubuntu16 Python3 tensorflow
- Tensorflow(r1.4)API--tf.nn.max_pool
- 会话技术-cookie的API(十六)
- Spark简介