Java多线程学习笔记

来源:互联网 发布:linux 建立文件夹 编辑:程序博客网 时间:2024/04/29 01:35

 

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关键字

      publicsychronized void fun(){

      }

 

原创粉丝点击