多线程
积累jiuduo
这个作者很懒,什么都没留下…
展开
-
Java总结篇系列:Java多线程(二)
四.Java多线程的阻塞状态与线程控制 上文已经提到Java阻塞的几种具体类型。下面分别看下引起Java线程阻塞的主要方法。 1.join() join —— 让一个线程等待另一个线程完成才继续执行。如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继续执行。 1 public class ThreadTest { 2 3转载 2017-05-02 13:37:37 · 163 阅读 · 0 评论 -
Java总结篇系列:Java多线程(一)
多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括: Java线程具有五中基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thre转载 2017-05-02 13:36:10 · 159 阅读 · 0 评论 -
Java总结篇系列:Java多线程(三)
本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题。 一.一个典型的Java线程安全例子 1 public class ThreadTest { 2 3 public static void main(String[] args) { 4 Account account = new Account("123456", 1000); 5转载 2017-05-02 13:38:46 · 167 阅读 · 0 评论 -
CountDownLatch的使用
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 构造方法参数指定了计数的次数转载 2017-04-27 15:05:35 · 186 阅读 · 0 评论 -
同步代码和同步方法、锁的理解
问题的由来: 看到这样一个面试题: //下列两个方法有什么区别 public synchronized void method1(){} public void method2(){ synchronized (obj){} } 12345671234567 synchronized用于解决同步问题,当有多条线程同时访问共享数据时,如果不进行同步,就会发生错误,Java提供的解决方转载 2017-05-19 10:00:21 · 832 阅读 · 0 评论 -
java4种线程池的使用
java4种线程池的使用 Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池转载 2017-07-21 17:10:32 · 220 阅读 · 0 评论