![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程以及并发
java冢狐
这个作者很懒,什么都没留下…
展开
-
不会AQS也敢来面试,来这拿好AQS手册
AQS简介AQS是一个用来构件锁和同步器的框架,Lock包中的各种锁,concurrent包中的各种同步器都是基于AQS来构建的。锁原理-信号量VS管程在并发领域,主要关心的问题是互斥与同步。互斥:即同一时刻只允许一个线程访问共享资源同步:线程之间如何通信、协作。这两大问题可以通过信号量和管程来解决信号量信号量是操作系统提供的一种进程间常见的通信方式,主要用来协调并发程序对共享资源的访问。操作系统可以保证对信号量操作的原子性。信号量机制的引入解决了进程同步和互斥的问题,但信号量的大量同原创 2020-10-22 14:52:44 · 422 阅读 · 0 评论 -
线程池原理
线程池java线程池java线程池介绍线程池作用统一管理复用线程控制并发数量线程池原理线程池的七个参数workQueuethreadFactoryhandler复用线程使用线程池的注意事项六种线程池的使用由ThreadPoolExecutor 创建newCachedThreadPool(可缓存线程的线程池)newSingleThreadExecutor(单线程的线程池)newFixedThreadPool(固定数目的线程池)由ScheduledThreadPoolExecutor 创建ScheduledTh原创 2020-10-03 16:20:11 · 397 阅读 · 0 评论 -
轻松搞定进程原理
目录进程进程简介并发和并行进程的状态与变迁进程有五种状态:线程变迁进程的控制结构PCB包含的信息PCB如何组织进程的控制创建进程终止进程阻塞进程唤醒进程进程的上下文切换CPU上下文切换进程的上下文切换发生进程上下文切换的场景进程间通信进程调度算法线程最后进程进程简介并发和并行进程的状态与变迁进程有五种状态:运行状态:该进程占用CPU就绪状态:可运行,但是由于其他进程正在运行而暂停阻塞状态:该进程正在等待某一事件发生而暂停运行,此时,即使给他CPU控制权,它也无法运行创建状态:进程正在被原创 2020-10-02 14:06:04 · 504 阅读 · 0 评论 -
0202年了你还不会java线程?
java线程线程基本信息什么线程线程的优缺点线程和进程的比较线程状态线程等待(wait)线程睡眠(sleep)线程让步(yield)线程中断(interrupt)Join等待其他线程终止为啥使用join()方法线程唤醒(notify)线程的实现用户线程用户线程的优点:用户线程的缺点内核线程内核线程的优点内核线程的缺点轻量级线程LWP模型线程通信线程调度最后线程基本信息什么线程 线程是进程当中的一条执行流程。 同一进程内多个线程之间可以共享代码段、数据段、打开的文件等资源,但每个线程都有独立一套的原创 2020-10-02 10:24:53 · 281 阅读 · 0 评论 -
不会CAS也敢来面试——CAS原理解析
目录CAS原理解析java CAS简介代码说明执行过程CAS底层原理源码调试CAS存在的问题最后CAS原理解析java CAS简介CAS全称:Compare-And-Swap,即比较并替换。比较变量现在的值和以前的值是否一致,若一致则替换,否则不替换CAS作用:原子性更新变量值,保证线程安全CAS指令:需要有三个操作数,变量的当前值(V),旧的预期值(A),准备设置的新值(B)CAS指令执行条件:当前仅当V=A时,处理器才会设置V=B否则不执行更新CAS的返回值:V的之前值CAS处理过程:原创 2020-09-04 18:27:46 · 1646 阅读 · 2 评论 -
java中Synchronized对象锁和类锁的区别
透彻理解java中Synchronized对象锁和类锁的区别java内置锁 java内置锁:每个java对象都可以用做一个实现同步的锁,这些锁称为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法的时候会释放该锁。获得内置锁的唯一途径就是进入这个锁的保护的同步代码块或方法。 java内置锁是一个互斥锁,意味着最多只有一个线程能获取得该锁,当线程A尝试去获取线程B持有的内置锁的时候,线程A必须等待或者阻塞,直到线程B释放这个锁,如果B线程不释放这个锁,那么A线程就会永远等待原创 2020-08-19 11:19:40 · 851 阅读 · 1 评论 -
Thread源码剖析
关于Thread源码的解析以及编写了程序进行验证原创 2019-12-24 09:56:15 · 876 阅读 · 0 评论 -
java并发——原子性操作类的使用
主要介绍了下java并发中原子性操作类的使用,主要包括:基本类型、数组类型、类属性。原创 2019-12-30 10:20:26 · 389 阅读 · 0 评论 -
多线程——java
首先先简单介绍了java的多线程,以及java如何实现多线程的,随后介绍了下java锁的机制,重点介绍了下Synchronized和Lock这两种锁。最后进行了对比。原创 2019-12-31 18:04:31 · 457 阅读 · 0 评论 -
线程通信
线程通信通过共享对象通信忙等待wait(),notify()和notifyAll()丢失的信号(Missed Signals)假唤醒多个线程等待相同信号不要在字符串窗帘或全局对象中调用wait()线程通信线程通信的目标就是使线程互相发送信号,也可以使线程能够等待其他线程的信号通过共享对象通信设置信号量:线程A在一个同步块里设置Boolean型的变量,线程...原创 2020-03-12 18:35:33 · 308 阅读 · 0 评论 -
java并发编程三剑客
目录java并发编程三剑客思维导图CountDownLatch用法构造器以及方法构造器主要方法使用方法CyclicBarrier用法构造器以及主要方法构造器主要方法使用方法Semaphore用法构造器和主要方法构造器主要方法使用方法三种辅助类总结java并发编程三剑客思维导图CountDownLatch用法 位于java.util.concurrent包下,利用它可以实现类似计数器的功...原创 2020-04-16 09:15:09 · 1008 阅读 · 2 评论 -
搞定调度算法只需三分钟
目录java中的线程与进程调度线程调度抢占式调度协同式调度抢占式调度(JVM的线程调度实现)线程让出CPU的情况进程调度算法优先调度算法先来先服务调度算法(FCFS)短作业(进程)优先调度算法(SJF)高优先权优先调度算法非抢占式优先权算法抢占式优先权调度算法高相应比优先调度算法基于时间片的转轮调度算法时间片轮转法多级反馈队列调度算法java中的线程与进程调度线程调度抢占式调度 每个线程...原创 2020-04-17 09:43:52 · 642 阅读 · 0 评论 -
CAS与AQS
目录CAS和AQS什么是CAS概念以及特性概念特性原子包java.util.concurrent.atomic(锁自旋)ABA问题AQS同步状态先见先出队列主要方法acquire方法release方法CAS和AQS什么是CAS比较并交换——乐观锁机制——锁自旋概念以及特性概念 CAS比较并交换,CAS算法的过程:包含三个参数CAS(V,E,N)V表示要更新的变量(内存值),E...原创 2020-04-18 16:06:10 · 367 阅读 · 0 评论 -
一文读懂volatile
一文读懂Volatie在进入正文以前,先来一段demo代码啊:public class Test { public static void main(String[] args) { Aobing a =new Aobing(); a.start(); for(;;){ if(a.isFlag()){ System.out.println("冲冲冲"); }原创 2020-07-10 11:39:16 · 930 阅读 · 0 评论 -
一文搞懂进程间通信
一文搞懂进程间通信 由于每个进程的用户地址空间都是独立存在的,一般来说不能相互访问,但是内核空间是每个进程都共享的。所以进程之间可以通过内核空间进行通信。管道 首先需要明确的是,管道传输数据是单向的,导致效率低下,不适合进程间频繁的交换数据。但是好处就是简单,我们也容易得知管道里的数据已经被另一个进程读取了。管道的创建int pipe(int fd[2]) 这里创建了一个匿名管道,并返回了两个描述符,一个是管道的读取端描述符fd[0],另一个是管道的写入端描述符fd[1]。 其值存在原创 2020-08-11 15:07:21 · 598 阅读 · 0 评论 -
万字总结之阻塞队列以及常见面试题目
阻塞队列阻塞队列(BlockingQueue)基本概念阻塞的实现ArrayBlockingQueue类的继承主要成员变量构造器主要方法put()enqueue()LinkedBlockingQueue类的继承构造器主要成员变量主要方法put()PriorityBlockQueueDelayQueueSynchronousQueueLinkTransferQueuetransfer方法tryTransfer方法LinkedBlockingDeque应用:消费者生产者模式总结最后阻塞队列(BlockingQu原创 2020-08-07 13:49:10 · 745 阅读 · 0 评论