多线程votille小结

一并发的多面性


1 并发解决的问题分为两种:1 速度 2 设计可管理性
2 基本的线程机制
3  程序 进程 线程
程序:指令集 静态概念
进程:操作系统 调度程序 动态概念
线程:在进程内多条执行路劲
4 用run方法调用thread,不会产生新的线程,用start会产生新线程
5 使用Runnable的优点
1 避免单继承
2 方便共共享资源,同一份资源,多个代理访问
6 Runnable接口使用了静态代理的设计模式
7 守护线程
线程分为两类:用户线程,守护线程
守护线程:1 SetDaemon(true)设置守护线程
  2 守护线程中产生的线程也是守护线程
  3 不要认为所有的应用都可以分配给守护线程,比如读写操作
8 volatile关键字
jdk1.2之前,java内存模型是基本不分主存和本地内存。在当前的java内存模型下
线程可以把变量保存到本地内存,比如机器的寄存器,而不是主内存
volatile表示:这个变量不稳定,每次使用它都要到主存中进行读取,而且线程改变了这个volatile修饰的变量
必须写回主存
volatile 是一种稍弱的同步机制,在访问 volatile 变量时不会执行加锁操作,也就不会执行线程阻塞,
因此 volatilei 变量是一种比 synchronized 关键字更轻量级的同步机制

你可能感兴趣的:(并发与多线程)