Java多线程

开发工具与关键技术:Java
作者:吴永旗
撰写时间:2019年5月10日

1.理解进程与线程
 进程是系统进行资源分配和调度的基本单位,可以将进程理解为一个正在 执行的程序
 线程:线程是程序执行的小单位,一个进程可由一个或多个线程组成
 总结:操作系统可以同时执行多个任务,每个任务就是进程;进程可以同时执行多个 任务,每个任务就是线程
2.线程创建方法有以下两种方式:
创建一个Thread类,或者一个Thread的子类对象
创建一个实例Runnable接口的类的对象
实现骤:
Thread类:定义类继承thread类—>重写Thread的run的方法—>创建线程对象—>用start()方法启动线程
Runnable接口:定义类继承Runnable接口—>重写Thread的Runnable的方法—>创建Runnable实现类的实例, 并以此实例作为Thread的target来创建Thread对 象用—>start()方法启动线程
3.Thread类构造方法:
Thread() 创建一个线程对象
Thread(String name) 创建一个具有指定名称的线程对象
Thread(Runnable target) 创建一个基于Runnable接口实现线程对象
Thread(Runnable target,String name ) 创建一个基于Runnable接口实现类,并指定名称的线程对象
5.Thread类的常用方法
Public void run() 线程相关代码在该方法中,一般重写
Public void start() 启动线程的方法
Public static void sleep(long m) 线程休眠m毫秒的方法,作用:指定的毫秒数内让正在执行线程停止
Public void join() 优先执行调用join方法的线程
Publc final void join()作用:等待调用该方法的线程结束才能执行
Public final void join(long millis)等待该线程终止的最长时间为毫秒,如果millis为0则意味着一直等下去1

6.为什么要实现Runnable接口?
–java不支持多继承
–不打算重写Thread类的其他方法

7.线程的生命周期
在这里插入图片描述8.线程优先级
max_priority:线程的最高优先级10;
min_ priority: 线程的最低优先级1;
norm_ priority: 线程的默认优先级5;
9.优先级相关方法:
Public int getPriority() 获取优先级方法
Public void setPriority(int newPriority) 设置优先级方法
10.银行存取款时候为了保证不允许其他线程对账户余额进程进行操作,需要将bank对象进行锁定使用关键字synchronized实现

使用关键字synchronized实现方法有:
使用同步代码块 Synchronized(obj){};
同步方法:public Synchronized void saveAcount(){};
静态同步方法:public static Synchronized void saveAcount(){};
11.线程间通信方法:
Wait()方法:中断方法执行,使线程等待
notify()方法:唤醒处于等待的某一个线程,使其结束等待;
notifyAll()方法::唤醒所有处于等待的线程,使其结束等待;

注意:wait()、notify()、notifyAll()方法是Object的final方法,无法被重写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值