标签:
*线程相关概念:
进程:可以理解为正在运行的程序,
线程:程序的执行单元,一个进程至少有一个线程执行,一个进程可以有对个线程,java就是多线程的,至少有主程序和垃圾回收机制
*线程调度模式
分时调度
抢占式调度:java为抢占式调度,底层做着高速的切换
*多线程并没有提高程序的运行速度,只是提高了程序的运行效率
*实现多线程的两种方法
1.继承Thread类 创建线程类,创建对象,开启线程 可以直接获取名字 getname 可以用匿名内部类弄弄出来
2.实现Runnable接口 将实现Runnable接口的子类对象传参,传到Thread的构造方法中 获取名字的方法 Thread.currentThread().getName()
可以用匿名内部类弄出来的
相对而言第二种方式更好:1.将执行目标与线程分离,方便数据共享,突破了单继承的限制
*线程安全性
同步代码块:被同步的代码块前加锁
同步方法:在方法的返回值前加synchronized
同步方法:
格式:在方法的返回值前加同步关键字synchronized
同步方法的锁为当前对象的引用this
静态方法:synchronized里面传的锁是 类名.class
标签:
原文地址:http://www.cnblogs.com/Bestwith/p/5675081.html