摘要:
ReentrantLock(可重入锁)类实现了Lock,它拥有与synchronized 相同的并发性和内存语义,在实现线程安全的控制中,比较常用的是ReentrantLock。可以显示加锁、释放锁。 package gaoji;import java.util.concurrent.locks. 阅读全文
posted @ 2021-07-29 09:12
清钦
阅读(186)
评论(0)
推荐(0)
摘要:
某一同步块同时拥有“两个以上的锁”时,就可能会发生“死锁”的问题。 //死锁:多个线程互相抱着对方需要的资源,然后形成僵持public class DeadLock { public static void main(String[] args) { Makeup g1=new Makeup(0," 阅读全文
posted @ 2021-07-29 09:09
清钦
阅读(123)
评论(0)
推荐(0)
摘要:
public class TestJUC { public static void main(String[] args) { CopyOnWriteArrayList<String> list=new CopyOnWriteArrayList<>(); for (int i = 0; i < 10 阅读全文
posted @ 2021-07-29 09:08
清钦
阅读(31)
评论(0)
推荐(0)
摘要:
同步方法:我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括两种用法:synchronized方法和synchronized块 同步方法:public synchronized void method(int args){} 缺陷:若将一个大的方法申明为synchro 阅读全文
posted @ 2021-07-29 09:07
清钦
阅读(364)
评论(0)
推荐(0)
摘要:
多个线程操作同一个资源 并发:同一对象被多个线程同时操作 线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用。 形成条件:队列+锁 锁机制synchronized 阅读全文
posted @ 2021-07-29 09:04
清钦
阅读(30)
评论(0)
推荐(0)
摘要:
1.不安全买票 package syn;//不安全买票public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket buyTicket=new BuyTicket(); new Thread(bu 阅读全文
posted @ 2021-07-29 09:04
清钦
阅读(93)
评论(0)
推荐(0)
摘要:
线程分为用户线程和守护线程。 虚拟机必须确保用户线程执行完毕。 虚拟机不用等待守护线程执行完毕 public class TestDaemon { public static void main(String[] args) { God god=new God(); You you=new You 阅读全文
posted @ 2021-07-29 09:03
清钦
阅读(31)
评论(0)
推荐(0)
摘要:
Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。 线程的优先级用数字表示,范围从1~10 Thread.MIN_PRIORITY=1; Thread.MAX_PRIORITY=10; Thread.NORM_PRIORITY=5; 阅读全文
posted @ 2021-07-29 08:45
清钦
阅读(421)
评论(0)
推荐(0)
摘要:
NEW new状态 RUNNABLE 运行状态 TERMINATED 死亡状态 //观测测试线程状态public class TestState { public static void main(String[] args) throws InterruptedException { Thread 阅读全文
posted @ 2021-07-29 08:43
清钦
阅读(28)
评论(0)
推荐(0)
摘要:
Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞 可以想象成插队 public class TestJoin implements Runnable { @Override public void run() { for (int i = 0; i < 1000; i++) { S 阅读全文
posted @ 2021-07-29 08:41
清钦
阅读(37)
评论(0)
推荐(0)
摘要:
线程礼让,让当前正在执行的线程暂停,但不阻塞。 将线程从运行状态转为就绪状态。 让CPU重新调度,礼让不一定成功,看CPU心情。 public static void main(String[] args) { MyYield myYield= new MyYield(); new Threa 阅读全文
posted @ 2021-07-29 08:40
清钦
阅读(35)
评论(0)
推荐(0)

浙公网安备 33010602011771号