上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 30 下一页
摘要: Java 中常见的锁有 synchronized 可重入锁 java.util.concurrent.lock.ReentrantLock 可重复读写锁 java.util.concurrent.lock.ReentrantReadWriteLock synchronized 有 3种用法 修饰普通 阅读全文
posted @ 2019-11-30 20:44 ConstXiong 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 2013 年刚入行做 Java 开发的时候,我就问师傅该如何做一份职业规划,他说不知道,因为他也没有职业规划。 收到这个答案的时候,那时候我觉得是他不愿意跟我说太多。 现在回想这个问题,我相信他是没有做职业规划的。因为他已经深耕在选择的领域一二十年,他的规划就是在华为一心做好当前的产品,不去想太多。 阅读全文
posted @ 2019-11-30 20:35 ConstXiong 阅读(368) 评论(0) 推荐(0) 编辑
摘要: Java 中 volatile 关键字是一个类型修饰符。JDK 1.5 之后,对其语义进行了增强。 保证了不同线程对共享变量进行操作时的可见性,即一个线程修改了共享变量的值,共享变量修改后的值对其他线程立即可见 通过禁止编译器、CPU 指令重排序和部分 happens-before 规则,解决有序性 阅读全文
posted @ 2019-11-29 09:31 ConstXiong 阅读(2401) 评论(0) 推荐(0) 编辑
摘要: 在并发编程中,经常会遇到多个线程访问同一个共享变量,当同时对共享变量进行读写操作时,就会产生数据不一致的情况。 为了解决这个问题 JDK 1.5 之前,使用 synchronized 关键字,拿到 Java 对象的锁,保护锁定的代码块。JVM 保证同一时刻只有一个线程可以拿到这个 Java 对象的锁 阅读全文
posted @ 2019-11-29 09:31 ConstXiong 阅读(2082) 评论(0) 推荐(0) 编辑
摘要: Java 并发工具包中 java.util.concurrent.ExecutorService 接口定义了线程池任务提交、获取线程池状态、线程池停止的方法等。 JDK 1.8 中,线程池的停止一般使用 shutdown()、shutdownNow()、shutdown() + awaitTermi 阅读全文
posted @ 2019-11-29 09:29 ConstXiong 阅读(480) 评论(0) 推荐(0) 编辑
摘要: Java 中关键字 synchronized 表示只有一个线程可以获取作用对象的锁,执行代码,阻塞其他线程。 作用: 确保线程互斥地访问同步代码 保证共享变量的修改能够及时可见 有效解决重排序问题 用法: 修饰普通方法 修饰静态方法 指定对象,修饰代码块 特点: 阻塞未获取到锁、竞争同一个对象锁的线 阅读全文
posted @ 2019-11-29 09:29 ConstXiong 阅读(2467) 评论(0) 推荐(0) 编辑
摘要: Executors如何创建线程池? Executors 类是从 JDK 1.5 开始就新增的线程池创建的静态工厂类,它就是创建线程池的,但是很多的大厂已经不建议使用该类去创建线程池。原因在于,该类创建的很多线程池的内部使用了无界任务队列,在并发量很大的情况下会导致 JVM 抛出 OutOfMemor 阅读全文
posted @ 2019-11-29 09:28 ConstXiong 阅读(1240) 评论(0) 推荐(0) 编辑
摘要: 线程池状态: 线程池的5种状态:RUNNING、SHUTDOWN、STOP、TIDYING、TERMINATED。 见 ThreadPoolExecutor 源码 1. RUNNING:线程池一旦被创建,就处于 RUNNING 状态,任务数为 0,能够接收新任务,对已排队的任务进行处理。 2. SH 阅读全文
posted @ 2019-11-29 09:27 ConstXiong 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 什么是线程池? 线程池就是创建若干个可执行的线程放入一个池(容器)中,有任务需要处理时,会提交到线程池中的任务队列,处理完之后线程并不会被销毁,而是仍然在线程池中等待下一个任务。 为什么要使用线程池? 因为 Java 中创建一个线程,需要调用操作系统内核的 API,操作系统要为线程分配一系列的资源, 阅读全文
posted @ 2019-11-29 09:26 ConstXiong 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 线程的生命周期 线程包括哪些状态的问题说专业一点就是线程的生命周期。 不同的编程语言对线程的生命周期封装是不同的。 Java 中线程的生命周期 Java 语言中线程共有六种状态。 如图: Java 中线程的状态的转变 1. NEW 到 RUNNABLE 状态 Java 刚创建出来的 Thread 对 阅读全文
posted @ 2019-11-28 11:34 ConstXiong 阅读(1064) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 30 下一页