Java多线程的总结

一、线程和进程的区别

(1)多线程:一个应用程序有多条执行路径
  进程:正在执行的应用程序
  线程:进程的执行单元,执行路径
  单线程:一个应用程序只有一条执行路径
  多线程:一个应用程序有多条执行路径
  
  多进程的意义?
   提高CPU的使用率
  多线程的意义?
   提高应用程序的使用率

二、Java程序的运行原理及JVM的启动是多线程的吗?

(1)java命令启动jvm虚拟机,jvm启动一个进程,该进程会启动一个主线程

(2)jvm的启动是多线程的,当vm启动时最少有两个线程启动,一个是主线程,一个是垃圾回收线程

三、多线程的实现方法

(1)继承Thread类

(2)实现Runnable

四、线程的生命周期

(1)新建线程

(2)线程就绪状态

(3)线程运行状态

(4)线程阻塞状态

(5)线程死亡

参考图

五、线程控制的主要方法

(1)获取线程的名称

A:当继承Thread是,直接getName()

B:实现Runnable接口时,使用

Thread.currentThread().getName()
(2)A:休眠线程
  B:加入线程
  C:礼让线程
  D:后台线程
  E:终止线程(掌握)

六、同步解决线程安全问题
A:同步代码块
   synchronized(对象) {
    需要被同步的代码;
   }
   
   这里的锁对象可以是任意对象。
	synchronized(this){
		.......
	}


   
  B:同步方法
   把同步加在方法上。
   
   这里的锁对象是this
public void xxx(){
	synchronized(this){
		.......
	}
}     


  C:静态同步方法
   把同步加在方法上。
   
   这里的锁对象是当前类的字节码文件对象(反射再讲字节码文件对象)
public static void xxx(){
	synchronized(当前类.class){
		.......
	}
}     

七、线程安全问题的之买票(另外再写一个文章)

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值