Java的多线程的实现
-
多线程采用的方式:
1.继承Thread类
2.实现Runnable接口
-
继承Thread类
1.继承Thread类作为线程的实现类
2.需要覆写run()方法,作为线程的操作主体
3.使用start()方法调用run()方法启动线程
备注:start()
1.促使JVM调整状态,调用本机的系统函数获取操作系统的支持
2.标记线程的启动次数,促使一个线程只能启动一次
-
实现Runnable接口
1.继承Runnable接口作为线程的实现类
2.需要覆写run()方法,作为线程的操作主体
-
3.使用实现类实例化Thread类
4.通过Thread类的start()函数启动线程
-
-
Thread类与Runnable接口
-
1,Thread类是Runnable接口的子类
2.Thread类无法实现资源共享,Runnable可以
-
-
Thread类与Runnable接口的使用结论
1.Runnable适合多个线程处理多个资源
2.Runnable避免由单继承局限性带来的影响
线程操作的常用方法
-
线程名称
-
1.getName()获取线程,setName()设置线程
-
-
取得当前线程
-
1.currentThread()函数取得当前线程
-
判断线程是否启动
-
1.isAlive()判断线程是否执行完毕
-
线程的强制运行
-
1.jion()方法让一个线程执行完毕才能执行其他线程
-
线程的休眠
-
1.sleep()静态方法,可以直接通过线程类调用
-
-
线程的中断
-
1.interrupt()方法中断线程的执行
-
-
后台线程
-
1.setDaemon()设置后台线程,进程结束,后台线程依然会执行
-
-
设置和获取线程的优先级
1.setPriority(),getPriority(),主线程的优先级为Normal
-
线程的礼让
1.yield()方法,暂停当次执行机会
多线程的同步
-
解决资源共享的同步操作问题可以使用同步代码块和同步方法完成
-
同步代码块synchronized
synchronized(this){
}同步代码块的执行效率低很多
-
同步方法:加入synchronized关键字
public sychronized void fun(){
}