Java并发JUC
文章平均质量分 96
Java并发JUC
七@归七
这个作者很懒,什么都没留下…
展开
-
JUC并发编程(5)(自定义线程池 + 共享模型之工具2)
acquire->->->,如果资源用完了,返回负数,返回负数,表示失败。否则返回正数,返回正数,表示成功。如果成功,获取信号量成功。如果失败,调用,进入for循环:如果当前驱节点为头节点,调用尝试获取锁如果结果大于等于0,表明获取锁成功,调用,将当前节点设为头节点,之后又调用,唤醒后继节点。调用,第一次调用返回false,并将前驱节点改为-1,第二次循环如果再进入此方法,会进入阻塞并检查打断的方法。release->->,只要不发生整数溢出,就返回true如果返回true,调用,唤醒后继节点。原创 2023-11-08 09:17:21 · 288 阅读 · 0 评论 -
JUC并发编程(4)(自定义线程池 + 共享模型之工具1)
步骤1:自定义拒绝策略接口@FunctionalInterface //拒绝策略步骤2:自定义任务队列//阻塞队列,存放任务//队列的最大容量//锁//生产者条件变量//消费者条件变量//构造方法//超时阻塞获取//将时间转换为纳秒try{try {//等待超时依旧没有获取,返回null//该方法返回的是剩余时间return t;}finally {//阻塞获取try{try {return t;}finally {原创 2023-11-08 09:16:02 · 117 阅读 · 0 评论 -
JUC并发编程3(共享模型之内存 + 共享模型之无锁 + 共享模型之不可变)
Balking (犹豫)模式用在一个线程发现另一个线程或本线程已经做了某一件相同的事,那么本线程就无需再做 了,直接结束返回Unsafe 对象提供了非常底层的,操作内存、线程的方法,Unsafe 对象不能直接调用,只能通过反射获得。jdk8直接调用获得的unsafe不能用。static {try {//以下三个方法只执行一次,成功返回true,不成功返回false//以下方法都是在以上三个方法的基础上进行封装,会循环直到成功为止。int var5;原创 2023-11-08 09:15:03 · 65 阅读 · 0 评论 -
JUC并发编程1(线程基础 + Java线程)
创建线程的2中方式:继承Thread类;实现Runnable接口启动线程:调用线程的start()方法终止线程:调用线程的stop()方法,方法已过时,建议不要使用线程中断相关的方法:调用线程实例interrupt()方法将中断标志置为true;使用线程实例方法isInterrupted()获取中断标志;调用Thread的静态方法interrupted()获取线程是否被中断,此方法调用之后会清除中断标志(将中断标志置为false了)原创 2023-11-08 09:11:22 · 88 阅读 · 0 评论