Java多线程(1)

Java多线程
创建线程的三种方法
一:
1 继承Thread,重写run(线程体)方法
2 使用线程:创建子类对象,在该对象调用start方法,将该线程加入到线程组里面,由CPU调度执行
缺点:Java中只能实现单继承
二:实现Runnable,重写run(线程体)方法,创建实例,调用start方法
优点:避免单继承,方便共享,同一份资源,实现多个代理访问


静态代理模式:
1 真实角色
2 代理角色:持有真实角色的引用
3 二者实现相同角色角色


线程的五种状态:
新生(创建对象)
就绪(调用start方法)
运行(该线程被CPU调度选中,执行入run方法),阻塞(在运行状态的线程在某些情况下,如执行了sleep方法,或等待I/O设备等资源,将让出CPU,并暂时停止执行自己的运行,进入到阻塞状态,在阻塞状态的线程不能进入就绪队列,只有当引起阻塞的原因消除时,在可进入就绪状态等待CPU调度)
死亡状态(线程的死亡有两个原因,一个是正常运行的线程完成使用这两个方法,另一个是线程被强制性的终止,如通过执行stop或destroy方法来终止一个线程)
外部干涉:
1 线程类中定义 线程体使用的标识
2 线程体使用该标识
3 提供对外的方法改变该标识


join 方法:合并线程
yield 静态方法:暂停执行当前的线程,转而执行其他的线程
sleep(long mills) 静态方法:在指定的毫秒数内让当前正在执行线程休眠,此操作受系统计时器和程序精度和准确性的影响,不释放互斥锁,使用场景:1与时间相关,模拟倒计时 2 模拟网络延时
isAlive方法,判断线程是否还为终止
getPriority方法,获得线程的优先级数
setPriority方法,设置线程的优先级数值
setName方法,给线程命名
getName方法,获取线程名
currentThread方法,获取当前正在运行的线程对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值