Java多线程学习笔记

 

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(){

      }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值