
多线程
文章平均质量分 91
活跃的咸鱼
博客内容大部分均来日常学习的笔记。
展开
-
Java并发编程面试题(五万字总结)——快来打怪升级吧
并发编程面试题第一关: 初出茅庐1.什么是进程?2.什么是线程?3.线程的实现方式?4.线程的状态?5.run方法和start方法的区别6.获取当前线程的名字?7.判断线程是否存活?8.sleep()方法的作用?9.线程的种类10.什么是synchronized?第二关:小试牛刀1.如何优雅的设置睡眠时间2.如何停止一个线程3.yield()方法和join()的作用4.线程的优先级5.interrupted方法和isInterrupted方法的区别?6.Java虚拟机退出时Daemon线程中的finally原创 2021-09-12 19:34:17 · 2562 阅读 · 11 评论 -
看了就能学会的Java线程池技术
线程池1.线程池的介绍1.1 线程池的概念1.2 为什么要提出线程池的概念1.3 线程池的好处2. 线程池的使用2.1 线程池的创建2.2 线程池的七大参数2.3 如何向线程池提交任务2.4 如何关闭线程池2.5 如何合理的使用线程池3. 线程池的实现原理4.四种常见线程池4.1 SingleThreadPool4.2 FixedThreadPool4.3 CachedThreadPool4.4 ScheduledThreadPool1.线程池的介绍1.1 线程池的概念线程池:Java中开辟出了一原创 2021-07-13 18:20:18 · 980 阅读 · 10 评论 -
JUC三大常用辅助类
文章目录一、CountDownLatch(减法计数器)什么是CountDownLatch?CountDownLatch 常用方法CountDownLatch原理CountDownLatch实例二、Semaphore(信号量)什么是Semaphore?Semaphore常用方法三、CyclicBarrier(加法计数器)什么是CyclicBarrierCyclicBarrier常用方法一、CountDownLatch(减法计数器)什么是CountDownLatch?A CountDownLatch是.原创 2021-05-02 18:49:05 · 635 阅读 · 7 评论 -
ThreadLocal和InheritableThreadLocal
ThreadLocal 介绍:变量值的共享可以使用public static变量的形式使用,所有的线程都可以使用同一个public static变量,那么有没有一个东西能够使每一个线程都拥有自己的变量呢?ThreadLocal就是解决这样的问题的。ThreadLocal 类提供线程局部变量,它通常是私有类中希望将状态与线程关联的静态字段。简而言之,就是 ThreadLocal 提供了线程间数据隔离的功能,从它的命名上也能知道这是属于一个线程的本地变量。也就是说,每个线程都会在 ThreadLoca原创 2021-04-30 22:28:08 · 571 阅读 · 1 评论 -
全面解析java线程池
什么是线程池程序运行的本质是cpu进程的调度(占用系统的资源)进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。可以说,进程中包含了多个可以同时运行的线程。而在Java中,内存资源是极其宝贵的,所以,我们就提出了线程池的概念。线程池:Java中开辟出了一种管理线程的概念,这个概念叫做线程池,使用池的技术可以降低资源消耗(常见的池技术有jdbc连接池,线程池,内存池,对象池)。线程池的优点有:(1)降低资源消耗。通过重复利用原创 2021-04-22 21:18:55 · 662 阅读 · 4 评论 -
java多线程实现生产者消费者问题
wait/notify机制实现原理在使用wait/notify方法前我们需要对这两个方法进行简单的介绍:使用wait/notify方法前提是拥有相同锁的线程才可以实现此机制。1)wait方法是object的方法,他的作用是使当前执行wait方法的线程等待,在wait方法后面的代码暂停执行,并且释放锁,直到接到通知或被中断为止。在调用wait方法前,线程必须获得该对象的对象级别的锁,即只能在同步方法或同步代码块中调用wait方法。如果调用wait方法时没有适当的锁会抛出IllegalMonitorSta原创 2021-03-29 21:12:30 · 1012 阅读 · 7 评论 -
多线程与单例模式
立即加载/饿汉模式立即加载是指在使用类的时候对象已经创建完毕,常见的实现方法是直接new实例化。在立即加载/饿汉模式中,调用方法前,实例已经被创建了,下面来看一下实现代码:package com.single.thread;public class SingleInstance { private static SingleInstance instance=new SingleInstance(); private SingleInstance(){} public sta原创 2021-03-27 20:48:45 · 667 阅读 · 5 评论 -
全面了解Java Timer定时器类
Timer类介绍Timer类的主要作用是设置计划任务,即在指定时间开始执行某一个任务。Timer主要方法如图:schedule(TimerTask task, Date time)方法测试该方法的作用是在指定日期执行一次某一任务。TimerTask类:import java.util.TimerTask;public class MyTask extends TimerTask { @Override public void run() { System.ou原创 2021-03-27 09:49:58 · 1140 阅读 · 8 评论