上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 96 下一页
摘要: 相同: 都可以堵塞当前线程 不同: 1) 声明位置不同.sleep是Thread的静态方法;wait()是Object类的实例方法 2) 调用要求不同.sleep可以直接调用,wait()必须在synchronized代码块或方法中调用 3) 对同步监视器的控制不同: sleep不释放同步监视器,w 阅读全文
posted @ 2020-02-08 16:04 超级学渣渣 阅读(182) 评论(0) 推荐(0) 编辑
摘要: wait() notify() notifyAll() 1 只能用于synchronized 同步代码块和同步方法中 2 这几个方法的调用者,必须是同一个同步监视器 package com.LearnJava.Thread; import java.util.concurrent.locks.Ree 阅读全文
posted @ 2020-02-08 15:54 超级学渣渣 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-02-08 15:53 超级学渣渣 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 需手动加锁和释放. package com.LearnJava.Thread; import java.util.concurrent.locks.ReentrantLock; /* 同步代码块 synchronized(同步监视器){ //需要同步的代码 } 同步监视器:俗称 锁,可以是任何实例化 阅读全文
posted @ 2020-02-08 15:35 超级学渣渣 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-02-08 15:34 超级学渣渣 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 同步方法,仍然后有线程锁. 1 对于非静态方法,线程锁(同步监视器)是this 2 对于静态方法,线程锁是该类. package com.LearnJava.Thread; /* 同步代码块 synchronized(同步监视器){ //需要同步的代码 } 同步监视器:俗称 锁,可以是任何实例化的类 阅读全文
posted @ 2020-02-08 15:04 超级学渣渣 阅读(292) 评论(0) 推荐(0) 编辑
摘要: package com.LearnJava.Thread; /* 同步代码块 synchronized(同步监视器){ //需要同步的代码 } 同步监视器:俗称 锁,可以是任何实例化的类.但是需要共用同一个实例. */ class WindowSell implements Runnable{ Ob 阅读全文
posted @ 2020-02-08 12:11 超级学渣渣 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-02-07 16:51 超级学渣渣 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-02-06 21:56 超级学渣渣 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 实现Runnable接口 package com.LearnJava.Thread; class myRunnable implements Runnable{ @Override public void run() { for(int i =0;i<100;i++){ if(i%2==0){ Sy 阅读全文
posted @ 2020-02-06 19:28 超级学渣渣 阅读(1302) 评论(0) 推荐(0) 编辑
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 96 下一页