多线程初识一

来源:互联网 发布:锁屏后能录像的软件 编辑:程序博客网 时间:2024/05/21 11:28

几个重要概念

同步和异步

并发和并行

临界区

阻塞和非阻塞

锁、死锁、饥饿、活锁

并行的级别:阻塞>>非阻塞(无锁>无障碍>无等待)

并行相关定律:

阿姆达尔定律,加速比定义 1/(F+1/n*(1-F))  F为串行比例,N为处理器个数

古斯塔夫森定律,加速比定义 n-F(n-1) 


==========================================


线程和进程

线程的基本状态:运行runnable,阻塞blocked,等待(无限等待waiting,有限等待timed waiting),终结terminated


创建线程的两种方式

new Thread(new a[继承runnable接口]).start();

new Thread(){

@Override

public void run(){

do some thing……

}

};  target.start();


线程的终止

stop() 强制结束

interrupt() 中断线程[更改线程标识,可通过isInterrupt去判断]


线程的挂起suspend和继续执行resume

等待线程结束join(本质是wait,执行完会notifyAll)和谦让yeild


守护线程:垃圾回收线程、JIT线程

线程优先级

线程同步synchronized


================================================


无锁 CAS算法 

AtomoicInteger

unsafe

atomoicReference

atomoicStampedReference

atomicIntegerArray

atomicIntegerFieldUpdater

atomicVorcter










原创粉丝点击