JAVA并发编程首页投稿(暂停使用,暂停投稿)

Java 并发编程(3): JAVA 并发编程基础

2016-07-11  本文已影响236人  沪上最强亚巴顿

1. JAVA 并发编程基础

从启动一个线程到线程间不同的通信方式.

1.1 线程

线程是系统调度的最小单位, 拥有各自的计数器, 堆栈和局部变量等属性.

1.1.1.1 为什么需要多线程

1.1.2 线程优先级

1.1.3 线程的状态

1.1.4 Daemon 线程

1.2 启动和终止线程

1.2.1 构造和启动线程

1.2.2 中断.

1.2.3 过期的suspend(), resume(), stop().

1.2.4 安全地终止线程

// class Runner implements Runnable
public void run(){
    while (on && !Thread.currentThread().isInterrupted(){
        // do your job.
    }
}
public void cancel(){
    on = false;
}

// main method
thread.interrupt();
runner.cancel();

1.3 线程间通信

1.3.1 volatile/synchronized 关键字

1.3.2 等待/通知机制

// >>>> 等待方
synchronized(对象){
    while(条件不满足){
        对象.wait();
    }
    对应的处理逻辑.
}

// >>>> 通知方
synchronized(对象){
    改变条件
    对象.notifyAll();
}

1.3.3 管道输入/输出流

1.3.4 Thread.join() 的使用

public final synchronized void join(){
    //条件不满足, 继续等待
    while(isAlive()){
        wait(0);
    }
    //条件符合, 方法返回.
}

1.3.5 ThreadLocal 的使用

1.4 生产者和消费者模式

使用阻塞队列(容器)做第三方来解耦生产者和消费者, 两者通过阻塞队列进行通信.

上一篇 下一篇

猜你喜欢

热点阅读