Java并发
文章平均质量分 83
黑面|书生
这个作者很懒,什么都没留下…
展开
-
八个经典的java多线程编程题目
1、要求线程a执行完才开始线程b, 线程b执行完才开始线程package com.example.javatest.theardTest.MultiThreadAlgorithm;/** * 要求线程a执行完才开始线程b, 线程b执行完才开始线程 * * join()解释:https://blog.csdn.net/qq_18505715/article/details/79795728 * * wait() 和 notify() 解释:https://blog.csdn.net/ch转载 2021-06-22 14:14:27 · 4040 阅读 · 0 评论 -
Java线程池工具类
转载:https://blog.csdn.net/weixin_38399962/article/details/81979295工具类/** * Description:符合阿里巴巴规范的线程池 * User: zhouzhou * Date: 2019-01-15 * Time: 14:19 */public class ThreadPoolUtil { public static ThreadPoolExecutor threadPool; /** * 无转载 2021-03-19 08:45:29 · 377 阅读 · 0 评论 -
Java并发 ReentrantLock和AQS
文章目录AQS是什么AQS在其他同步器组件中的应用AQS是什么是用来构建锁或者其它同步器组件的重量级基础框架及整个JUC体系的基石,通过内置的FIFO队列来完成资源获取线程的排队工作,并通过一个int类型变量表示持有锁的状态。抢到资源的线程直接使用处理业务逻辑,抢不到资源的必然涉及一种排队等候机制。抢占资源失败的线程继续去等待(类似银行业务办理窗口都满了,暂时没有受理窗口的顾客只能去候客区排队等候),但等候线程仍然保留获取锁的可能且获取锁流程仍在继续(候客区的顾客也在等着叫号,轮到了再去受理窗口办理业务原创 2021-01-31 21:32:45 · 251 阅读 · 0 评论 -
Java(并发)多线程编程面试
文章目录基础知识什么是进程?什么是线程?什么是协程?三者之间的联系与区别?什么是僵尸进程?什么是孤儿进程?什么是守护线程?守护线程和用户线程有什么区别呢?如何在 Windows 和 Linux 上查找哪个线程cpu利用率最高?说一说并发和并行的区别?为什么要进行多线程(并发)编程?多线程编程有什么缺点?说一说线程的生命周期以及对应的状态?Java多线程中分别调用什么方法能够转换为下一个状态?什么是线程死锁?如何避免死锁?写个Java死锁代码?什么是线程上下文切换?Java线原创 2021-01-29 09:05:35 · 109 阅读 · 0 评论 -
多线程中的锁
文章目录乐观锁和悲观锁公平锁和非公平锁独占锁和共享锁什么是可重入锁锁升级过程?Java对象头偏向锁轻量级锁重量级锁总结锁的升级流程什么是CASLockSupportCondition乐观锁和悲观锁乐观锁和悲观锁是在数据库中引入的名词,但是在并发包锁里面也引入了类似的思想。悲观锁指对数据被外界修改持保守态度,认为数据很容易就会被其他线程修改,所以在数据被处理前先对数据进行加锁,并在整个数据处理过程中,使数据处于锁定状态。悲观锁的实现往往依靠数据库提供的锁机制,即在数据库中,在对数据记录操作前给记录加排它原创 2021-01-29 09:03:14 · 561 阅读 · 0 评论 -
Java并发 原子操作类
文章目录原子更新基本类型类原子更新数组Java Atomic包中有13个原子操作类,共分为4类,分别是原子更新基本类型、原子更新数组、原子更新引用和原子更新属性(字段)。Atomic包里的类基本都是使用Unsafe实现的包装类。原子更新基本类型类使用原子的方式更新基本类型,Atomic包提供了以下3个类:AtomicBoolean:原子更新布尔类型。AtomicInteger:原子更新整型。AtomicLong:原子更新长整型。以上3个类提供的方法几乎一模一样,所以仅以AtomicInte原创 2021-01-29 08:57:14 · 184 阅读 · 0 评论 -
Java内存模型相关
说一说JMM(Java内存模型)?JMM是Java内存模型,也就是Java Memory Model,简称JMM,本身是一种抽象的概念,实际上并不存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JMM关于同步的规定:线程解锁前,必须把共享变量的值刷新回主内存线程解锁前,必须读取主内存的最新值,到自己的工作内存加锁和解锁是同一把锁由于JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方成为原创 2021-01-26 21:58:09 · 97 阅读 · 0 评论 -
Java多线程 ThreadLocal
文章目录ThreadLocalThreadLocal的作用(有什么用)?ThreadLocal的原理InheritableThreadLocalThreadLocal内存泄漏问题ThreadLocalRandom类ThreadLocalThreadLocal是JDK包提供的,它提供了线程本地变量,也就是如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地副本。当多个线程操作这个变量时,实际操作的是自己本地内存里面的变量,从而避免了线程安全问题。创建一个Threa原创 2021-01-25 19:27:55 · 244 阅读 · 0 评论 -
Java线程基础
文章目录Java中创建线程有哪几种方式?说一下 runnable 和 callable 有什么区别?线程的 run()和 start()有什么区别?启动线程调用run()不行吗?Callable 、 Future和FutureTask说一说?Java 中用到的线程调度算法是什么?线程的调度策略?什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )?join()、sleep() 、wait()和 yield() 有什么区别?为什么线程通信的方法 wait(), noti原创 2021-01-23 22:16:25 · 102 阅读 · 0 评论