线程Thread的类的核心方法
来源:互联网 发布:淘宝汽车用品店名大全 编辑:程序博客网 时间:2024/05/21 08:51
(1) 实现线程的方法
1) 继承Thread类
2) 实现Runnable接口
(2) 启动线程的方法(start)
start()方法的顺序并不代表线程启动的顺序。
currentThread()方法可返回代码段正在被哪个线程调用的信息。
isAlive()方法判断当前的线程是否处于活动的状态。什么是活动状态就是线程已经启动且尚未终止。线程处于正在运行或者准备开始运行的状态,就认为线程是存活的。
sleep()方法:在指定的毫秒内让当前正在执行的线程休眠(暂停执行),这个正在执行的线程是指this. currentThread()返回的线程。
getId()方法:获取线程的唯一标示。
yield()方法:放弃当前的CPU资源,将它让给其它的任务去占用CPU执行时间。但放弃的时间不确定,有可能刚刚放弃,马上又获得CPU时间片。
(3) 线程停止的方法
Java中有三种停止线程方法:
1) 使用退出标志位,使线程正常退出,也就是当run方法完成后线程终止。
2) 使用stop方法强行终止线程,但是这个方法不被推荐使用,因为stop和suspend及resume一样,都是作废过期的方法,使用它们可能产生不可以预料的结果。
3) 使用interrupt方法中断线程。
interrupt()方法:仅仅是在当亲线程中打印了一个停止的标记,并不是真的停止线程。
this. interrupt()方法:测试当前线程是否已经中断,执行后具有将转态标志清除为false的功能。
this.isInterrupt()方法:测试线程是否已经中断,但并不清除状态标志。
stop()方法:该方法已经作废,因为如果强制让线程停止则有可能使一些清理性的工作得不到完成,另一个情况就是对锁定的对象进行了解锁,导致数据到不到同步处理,出现数据不一致的问题。
(4) 线程暂停的方法
suspend()方法:暂停线程。
resume()方法:恢复线程的执行。
缺点:使用不当,极易造成公共的同步对象的独占,使其它线程无法访问公共同步对象。极易出现因为线程的暂停而导致数据不同步的情况。
(5) 线程的优先级
在操作系统中,线程可划分优先级,优先级较高的线程得到的CPU资源较多,也就是CPU优先执行优先级交高的线程对象中的任务。
特点:线程的优先级与代码的执行顺序无关,线程的优先级具有一定的规则性,也就是CPU尽量将执行资源让给优先级比较高的线程。
线程的优先级具有随机性,也就是说优先级较高的线程不一定每一次都先执行。
setPriority()方法:设置线程的优先级。
(6) 守护线程
守护线程是一种特殊的线程,当线程中没有非守护线程了,则守护线程自动销毁。典型的守护线程就是垃圾回收线程。作用:为其它线程的运行提供便利服务,最典型的应用就是垃圾回收器(GC)。
- 线程Thread的类的核心方法
- JAVA线程-Thread类的方法
- 继承Thread类的线程实现方法
- java线程之用Thread类创建线程的方法
- 创建线程的方法一:继承Thread类
- 覆盖Thread类的run()方法使用线程
- 利用Thread类的join方法实现线程同步
- 创建线程的第一种方法:继承Thread类
- C# 线程Thread的Join()方法
- 创建线程的方法 Thread Runnable
- 线程(1)----Thread的方法函数
- C# 线程Thread的Join()方法
- Android 线程 thread的实现方法
- java Thread 线程的.Join()方法
- Java创建线程Thread的两个方法
- 线程的礼让(Thread.yield())方法
- 线程的礼让(Thread.yield())方法
- 关于线程Thread类中的 Thread(Runnable target) 构造方法的使用
- 安装hadoop
- JDBC元数据操作(一)-- DatabaseMetaData接口详解
- PHP 加密的几种方式
- TreeMap实现原理深度分析
- 指针与数组
- 线程Thread的类的核心方法
- JDBC之Statement,PreparedStatement,CallableStatement的区别
- EditPlus常用操作
- 100道android面试题
- Struts2 版本 区别
- 局域网ping检查【python】
- NC65项目开发阶段性的进展
- Freemarker中遍历List实例
- SVM支持向量机原理(一) 线性支持向量机