Thread类构造方法:

1.Thread();

2.Thread(String name);

3.Thread(Runable r);

4.Thread(Runable r, String name);

[java] view plain copy
  1. public class Test {
  2. public static void main(String[] args) {
  3. /*
  4. MyThread thread1 = new MyThread();
  5. MyThread thread2 = new MyThread("MyThread");
  6. thread1.start();
  7. thread2.start();
  8. */
  9. MyRunnable run = new MyRunnable();
  10. Thread thread3 = new Thread(run);
  11. Thread thread4 = new Thread(run, "MyThread");
  12. thread3.start();
  13. thread4.start();
  14. }
  15. }

常用方法:

start();//启动线程

getId();//获得线程ID

getName();//获得线程名字

getPriority();//获得优先权

isAlive();//判断线程是否活动

isDaemon();//判断是否守护线程

getState();//获得线程状态

sleep(long mill);//休眠线程

join();//等待线程结束

yield();//放弃cpu使用权利

interrupt();//中断线程

currentThread();//获得正在执行的线程对象

守护线程:也叫精灵线程,当程序只剩下守护线程的时候就会退出。

守护线程 的作用类似在后台静默执行,比如JVM的垃圾回收机制,这个就是一个守护线程。而非守护线程则不会。

[java] view plain copy
  1. MyRunnable run = new MyRunnable();
  2. Thread thread3 = new Thread(run);
  3. Thread thread4 = new Thread(run, "MyThread");
  4. //设置优先级别
  5. //      thread3.setPriority(1);
  6. //      thread3.setPriority(Thread.MAX_PRIORITY);
  7. //      thread4.setPriority(10);
  8. thread3.setPriority(Thread.NORM_PRIORITY);
  9. thread4.setPriority(Thread.NORM_PRIORITY);
  10. //获得线程的优先级别
  11. System.out.println(thread3.getPriority());
  12. System.out.println(thread4.getPriority());
  13. System.out.println("----------------------");
  14. thread3.start();
  15. thread4.start();
  16. System.out.println("----------------------");
  17. System.out.println("线程3是否活动:"+thread3.isAlive());
  18. System.out.println("线程4是否活动:"+thread4.isAlive());
  19. System.out.println("----------------------");
  20. //      thread3.setDaemon(true);//设置为守护线程,必须在启动之前设置
  21. System.out.println("线程3是否是守护线程:"+thread3.isDaemon());
  22. System.out.println("线程4是否是守护线程:"+thread4.isDaemon());
  23. System.out.println("----------------------");
  24. //获取线程状态
  25. System.out.println("线程3的状态:"+thread3.getState());
  26. System.out.println("线程4的状态:"+thread4.getState());
  27. try {
  28. thread4.join();//等待线程4的结束
  29. } catch (InterruptedException e) {
  30. e.printStackTrace();
  31. }

Thread类常用方法相关推荐

  1. JavaSE基础二十:Java 多线程(线程基础知识、Java 多线程、Java 实现多线程(继承 Thread 类、实现 Runnable 接口、实现 Callable 接口))

    本章目录 1.基础知识准备 2.Java 多线程概述 3.Java 实现多线程 3.1.继承 Thread 类 如何开启新线程 Thread 类常用方法 多线程中的同步 Thread 类同步方法 多线 ...

  2. Thread类源码解读(2)——线程状态及常用方法

    上一篇我们讨论了线程的创建,本篇我们来聊一聊线程的状态转换以及常用的几个比较重要的方法. 本篇依然是通过源码分析来了解这些知识. 本文源码基于jdk1.8 . 阅读完本文,你应当有能力回答以下常见面试 ...

  3. Thread类源码解读2--线程状态及常用方法

    本文源码基于jdk1.8 . 线程状态 在Thread类中, 线程状态是通过threadStatus属性以及State枚举类实现的: /* Java thread status for tools,* ...

  4. 【JAVA】-- 多线程Thread类的常用方法

    一.Thread类的常用方法 1.start():启动当前线程 2.run():通常需要重写Thread类中的此方法,将创建的线程要执行的操作写在此方法中. 3.currentThread():静态方 ...

  5. 【java笔记】线程(3):Thread类的常用方法

    [JAVA笔记]线程(1):多线程的介绍和实现_m0_52043808的博客-CSDN博客 [java笔记]线程(2):多线程的原理_m0_52043808的博客-CSDN博客 获取线程的名称: St ...

  6. Thread 类部分常用方法详解

    currentThread() currentThread() 方法用来返回代码段正在被哪个线程调用,它是 Thread 类提供的一个 native 方法,返回一个 Thread 类的实例对象,源码如 ...

  7. java同步锁售票_Java基础学习笔记: 多线程,线程池,同步锁(Lock,synchronized )(Thread类,ExecutorService ,Future类)(卖火车票案例)...

    学习多线程之前,我们先要了解几个关于多线程有关的概念. 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程:线程是 ...

  8. Thread类源码剖析

    目录 1.引子 2.JVM线程状态 3.Thread常用方法 4.拓展点 一.引子 说来也有些汗颜,搞了几年java,忽然发现竟然没拜读过java.lang.Thread类源码,这次特地拿出来晒一晒. ...

  9. Android开发笔记(四十八)Thread类实现多线程

    Thread概述 Thread类是真正的线程,查看源码可见Thread也实现了Runnable接口,但它内部有创建新的工作线程,所以Thread对象运行在与主线程不一样的分线程上. 因为Thread对 ...

最新文章

  1. 在C#里实现DATAGRID的打印预览和打印
  2. javascript工具类(util)-持续更新
  3. 生活随笔:人的追求和差异
  4. Java中Comparable和Comparator的区别
  5. python开发的比较知名的游戏-游戏排行榜-Python实现
  6. 《深入理解Android:卷III A》一一2.4本章小结
  7. oracle10g的rat模拟,Oracle 10g Logminer 研究及测试
  8. linux彻底卸载xfce,Ubuntu12.04LTS下如何安装和彻底卸载xfce4?
  9. I帧、B帧和P帧的特点和编码的基本流程
  10. 系统学习机器学习之神经网络(十) --BAM网络
  11. configure: line syntax error near unexpected token `win32-dll'
  12. sps的process插件安装包_Process插件安装及其简单中介分析
  13. 传智播客java测试题_传智播客java笔试题
  14. Google Earth Engine(GEE)——导出视频和存储到云端!
  15. python:实现lowest common ancestor最低共同祖先算法(附完整源码)
  16. WIN7搭建web服务器的步骤
  17. Ken Thompson 在餐巾纸上设计的 UTF-8
  18. 苹果手机换了屏显示无服务器,苹果手机出现“无法验证此 iPhone 屏幕是正品”怎么办...
  19. css 解决因为书名号不满一行就换行情况
  20. Ubuntu系统下载网易云音乐

热门文章

  1. lambda函数是不是python的保留字_Python包含的保留字
  2. 游戏王计算机人图片,人造人(《游戏王》卡牌角色)_百度百科
  3. web项目测试总结要点及测试方法
  4. 拼多多自动评价要几天?怎么回复?拼多多补单软件
  5. C语言文件操作,增删改查
  6. CSS中line-height属性详解(CSS之四)
  7. 网银在线 网银+ 绑定无法解绑 网银+绑定银行卡后无法解绑
  8. Stripe支付相关资料
  9. Megacli常用命令整理
  10. vue使用crypto-js 加密解密