Thread类常用方法
Thread类构造方法:
1.Thread();
2.Thread(String name);
3.Thread(Runable r);
4.Thread(Runable r, String name);
- public class Test {
- public static void main(String[] args) {
- /*
- MyThread thread1 = new MyThread();
- MyThread thread2 = new MyThread("MyThread");
- thread1.start();
- thread2.start();
- */
- MyRunnable run = new MyRunnable();
- Thread thread3 = new Thread(run);
- Thread thread4 = new Thread(run, "MyThread");
- thread3.start();
- thread4.start();
- }
- }
常用方法:
start();//启动线程
getId();//获得线程ID
getName();//获得线程名字
getPriority();//获得优先权
isAlive();//判断线程是否活动
isDaemon();//判断是否守护线程
getState();//获得线程状态
sleep(long mill);//休眠线程
join();//等待线程结束
yield();//放弃cpu使用权利
interrupt();//中断线程
currentThread();//获得正在执行的线程对象
守护线程:也叫精灵线程,当程序只剩下守护线程的时候就会退出。
守护线程 的作用类似在后台静默执行,比如JVM的垃圾回收机制,这个就是一个守护线程。而非守护线程则不会。
- MyRunnable run = new MyRunnable();
- Thread thread3 = new Thread(run);
- Thread thread4 = new Thread(run, "MyThread");
- //设置优先级别
- // thread3.setPriority(1);
- // thread3.setPriority(Thread.MAX_PRIORITY);
- // thread4.setPriority(10);
- thread3.setPriority(Thread.NORM_PRIORITY);
- thread4.setPriority(Thread.NORM_PRIORITY);
- //获得线程的优先级别
- System.out.println(thread3.getPriority());
- System.out.println(thread4.getPriority());
- System.out.println("----------------------");
- thread3.start();
- thread4.start();
- System.out.println("----------------------");
- System.out.println("线程3是否活动:"+thread3.isAlive());
- System.out.println("线程4是否活动:"+thread4.isAlive());
- System.out.println("----------------------");
- // thread3.setDaemon(true);//设置为守护线程,必须在启动之前设置
- System.out.println("线程3是否是守护线程:"+thread3.isDaemon());
- System.out.println("线程4是否是守护线程:"+thread4.isDaemon());
- System.out.println("----------------------");
- //获取线程状态
- System.out.println("线程3的状态:"+thread3.getState());
- System.out.println("线程4的状态:"+thread4.getState());
- try {
- thread4.join();//等待线程4的结束
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
Thread类常用方法相关推荐
- JavaSE基础二十:Java 多线程(线程基础知识、Java 多线程、Java 实现多线程(继承 Thread 类、实现 Runnable 接口、实现 Callable 接口))
本章目录 1.基础知识准备 2.Java 多线程概述 3.Java 实现多线程 3.1.继承 Thread 类 如何开启新线程 Thread 类常用方法 多线程中的同步 Thread 类同步方法 多线 ...
- Thread类源码解读(2)——线程状态及常用方法
上一篇我们讨论了线程的创建,本篇我们来聊一聊线程的状态转换以及常用的几个比较重要的方法. 本篇依然是通过源码分析来了解这些知识. 本文源码基于jdk1.8 . 阅读完本文,你应当有能力回答以下常见面试 ...
- Thread类源码解读2--线程状态及常用方法
本文源码基于jdk1.8 . 线程状态 在Thread类中, 线程状态是通过threadStatus属性以及State枚举类实现的: /* Java thread status for tools,* ...
- 【JAVA】-- 多线程Thread类的常用方法
一.Thread类的常用方法 1.start():启动当前线程 2.run():通常需要重写Thread类中的此方法,将创建的线程要执行的操作写在此方法中. 3.currentThread():静态方 ...
- 【java笔记】线程(3):Thread类的常用方法
[JAVA笔记]线程(1):多线程的介绍和实现_m0_52043808的博客-CSDN博客 [java笔记]线程(2):多线程的原理_m0_52043808的博客-CSDN博客 获取线程的名称: St ...
- Thread 类部分常用方法详解
currentThread() currentThread() 方法用来返回代码段正在被哪个线程调用,它是 Thread 类提供的一个 native 方法,返回一个 Thread 类的实例对象,源码如 ...
- java同步锁售票_Java基础学习笔记: 多线程,线程池,同步锁(Lock,synchronized )(Thread类,ExecutorService ,Future类)(卖火车票案例)...
学习多线程之前,我们先要了解几个关于多线程有关的概念. 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程:线程是 ...
- Thread类源码剖析
目录 1.引子 2.JVM线程状态 3.Thread常用方法 4.拓展点 一.引子 说来也有些汗颜,搞了几年java,忽然发现竟然没拜读过java.lang.Thread类源码,这次特地拿出来晒一晒. ...
- Android开发笔记(四十八)Thread类实现多线程
Thread概述 Thread类是真正的线程,查看源码可见Thread也实现了Runnable接口,但它内部有创建新的工作线程,所以Thread对象运行在与主线程不一样的分线程上. 因为Thread对 ...
最新文章
- 在C#里实现DATAGRID的打印预览和打印
- javascript工具类(util)-持续更新
- 生活随笔:人的追求和差异
- Java中Comparable和Comparator的区别
- python开发的比较知名的游戏-游戏排行榜-Python实现
- 《深入理解Android:卷III A》一一2.4本章小结
- oracle10g的rat模拟,Oracle 10g Logminer 研究及测试
- linux彻底卸载xfce,Ubuntu12.04LTS下如何安装和彻底卸载xfce4?
- I帧、B帧和P帧的特点和编码的基本流程
- 系统学习机器学习之神经网络(十) --BAM网络
- configure: line syntax error near unexpected token `win32-dll'
- sps的process插件安装包_Process插件安装及其简单中介分析
- 传智播客java测试题_传智播客java笔试题
- Google Earth Engine(GEE)——导出视频和存储到云端!
- python:实现lowest common ancestor最低共同祖先算法(附完整源码)
- WIN7搭建web服务器的步骤
- Ken Thompson 在餐巾纸上设计的 UTF-8
- 苹果手机换了屏显示无服务器,苹果手机出现“无法验证此 iPhone 屏幕是正品”怎么办...
- css 解决因为书名号不满一行就换行情况
- Ubuntu系统下载网易云音乐