Java并发笔记

2018-08-15  本文已影响0人  shaYanL

http://ifeve.com/java-concurrency-thread-directory/系列博文总结

1. 多线程相对于单线程的优势:

2. 多线程的代价

3. 几种并发编程模型

4. 创建及运行Java线程:

5. 竞态条件 & 临界区

6. 线程安全与共享资源

7. 线程安全及不可变性

public class ImmutableValue{
    private int value = 0;

    public ImmutableValue(int value){
        this.value = value;
    }

    public int getValue(){
        return this.value;
    }
}

8. Java同步关键字synchronzied

public synchronized void add(long value) {
        count += value;
        System.out.println(Thread.currentThread().getName() + ":====" +count);
    }
public void add2(long value) {
        synchronized (this) {
            count += value;
            System.out.println(Thread.currentThread().getName() + ":====" + count);
        }
    }

9. 线程通信

10. TheadLocal-提供线程内的局部变量

11. 死锁

12. 避免死锁

13. 饥饿和公平

14. 嵌套管程锁死

15. Java中的锁

16. Java中的读/写锁

17. 重入锁死

18. 信号量

19. 阻塞队列

20. 线程池

21. Java并发编程之CAS

22. 同步器

23. 非阻塞算法

24. 阿姆达尔定律

T(N) = N个线程(并行因子为N)下执行的总时间
B = 不可以并行的总时间
T- B = 并行部分的总时间

上一篇下一篇

猜你喜欢

热点阅读