Java多线程--你至少应该了解的

2017-04-05  本文已影响98人  theFullHorizon

目录

基本概念

基本知识点

线程状态

Thread.State描述 状态关系图

同步

Synchronized:用于线程同步,可以修饰成员变量,方法。与 wait, notify结合比较典型的应用场景就是生产者消费者。

Volatile:多线程的内存模型:main memory(主存)、working memory(线程栈),在处理数据时,线程会把值从主存load到本地栈,完成操作后再save回去。volatile关键词的作用:每次针对该变量的操作都激发一次load and save。本质上,volatile就是不去缓存,直接取值。在线程安全的情况下加volatile会牺牲性能。

基本线程类

高级别线程类

实战问题

如何优雅的关闭线程

public static volatile boolean isDestroy = false;
while (!isInterrupted()) {
        try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                break;
            }
         i++;
}

线程与线程通信(Java场景下)

线程与线程通信(Android场景下)

进程与进程通信(Android场景下)

Intent 访问其他应用的Activity: 调用起其他应用的Activity页面
ContentProvider:进程间简单的通讯
Broadcast : 单向度的进程间通讯
AIDL :AIDL是处理多线程、多客户端并发访问
SharedPrefrence:进行进程间通讯,把Mode改为mutiple

上一篇 下一篇

猜你喜欢

热点阅读