一、引言

  Thread类中存在着许多操作线程的方法,学习Thread类是非常有必要的,前面我们也嘘唏了创建线程的几种方式,若线程的创建不是以继承Thread类的方式创建的,那我们又改如何使用Thread中的方法呢?下面一起来学习一下多线程操作的重点--Thread类。

二、实例详解

/**
* 认识Thread类的常用方法
*/
public class MyThread { public static void main(final String[] arguments) throws InterruptedException {
/*一个以实现Runnable接口的方式创建的线程,如何使用Thread类中的方法?*/
//1、创建一个线程实例(此线程是以实现Runnable接口的方式创建的)
TestThread runableThread = new TestThread();
//2、通过Thread类的构造函数,用刚才创建的线程生成一个Thread类的实例
Thread thread = new Thread(runableThread); /*Thread类中重要的操作线程方法*/
thread.setName("线程1");//设置线程名称
thread.setPriority(1);//设置线程优先级(1~10;默认为5;10为最高优先级;优先级高并不一定就先执行!
thread.setDaemon(false);//设置该线程是否为守护线程(true:是;false:不是)
thread.start();//启动线程
thread.isAlive();//查看当前线程是否存活
thread.join(3000L);//等待该线程执行X秒后再执行下面的代码(PS:若设值大于线程执行时间,则执行完毕后立即执行下面的线程)
thread.interrupt();//终止线程(PS:若线程中存在sleep方法,且线程还没运行完毕,调用interrupt时会报错) /*Thread类中的静态方法*/
thread.sleep(1000L);//线程休眠1秒(当前线程回到可执行状态,并不一定能立即执行!
thread.yield();//暂停执行当前线程,并执行其他线程(当前线程回到可执行状态)
thread.currentThread();//返回当前线程的实例对象
} /**
* 线程实体(实现Runnable接口)
*/
static class TestThread implements Runnable { public void run() {
try {
System.out.println("运行线程!线程名称为: " + Thread.currentThread().getName() + ",执行开始时间:" + new Date());
TimeUnit.SECONDS.sleep(5L);//休眠
System.out.println("运行线程完毕!线程名称为: " + Thread.currentThread().getName() + ",执行结束时间:" + new Date());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} }

并发编程(四)Thread类详解的更多相关文章

  1. Java基础-进程与线程之Thread类详解

    Java基础-进程与线程之Thread类详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.进程与线程的区别 简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程 ...

  2. java.lang.Thread类详解

    java.lang.Thread类详解 一.前言 位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前 ...

  3. thread 类详解

    java.lang.Thread类详解 一.前言 位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前 ...

  4. Java并发编程:Thread类的使用

    Java并发编程:Thread类的使用 在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知 ...

  5. 【转】Java并发编程:Thread类的使用

    一.线程的状态 在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于对Thread类中的方法的理解. 线程从创建到最终的消亡,要经历若干个状态.一般来说,线程包括以 ...

  6. 3、Java并发编程:Thread类的使用

    Java并发编程:Thread类的使用 在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知 ...

  7. java 复习整理(四 String类详解)

    String 类详解   StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上S ...

  8. Java并发编程1--synchronized关键字用法详解

    1.synchronized的作用 首先synchronized可以修饰方法或代码块,可以保证同一时刻只有一个线程可以执行这个方法或代码块,从而达到同步的效果,同时可以保证共享变量的内存可见性 2.s ...

  9. Thread类详解

    java.lang 类 Thread java.lang.Object java.lang.Thread 所有已实现的接口: Runnable public class Threadextends O ...

随机推荐

  1. 为何要做seo关键词排名

    http://www.wocaoseo.com/thread-229-1-1.html 武汉seo百度指数在150左右,做seo的同仁们都知道这样的一件事情. 真正搜索武汉seo关键词能作为潜在客户的 ...

  2. Promise对象入门

    简介 promise对象可以获取异步操作的消息,提供统一的API,各个异步操作都可以用同样的方法进行处理. promise对象不受外界影响,其有三种状态:pending(进行中).fulfilled( ...

  3. oracle备份之恢复管理目录

    一.管理恢复目录 #现实应用中一般都是专门新建一个rman 数据库,给所有的数据库做catalog1.建立恢复目录 #建立恢复目录表空间SQL> create tablespace rman_t ...

  4. 服务发现Eureka、zookeeper、consul

    Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的某些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态). ...

  5. unity 真机调试

    [Unity3D]Android和ios真机调试测Profiler http://blog.csdn.net/swj524152416/article/details/53466413 Unity5. ...

  6. 流光shader 和 流光+扭曲shader

    我认为这种shader能通过简单的方式呈现出不错的效果. 1.流光shader: Shader "Unlit/StreamShader" { //流光shader Properti ...

  7. Python 中的数字到底是什么?

    花下猫语:在 Python 中,不同类型的数字可以直接做算术运算,并不需要作显式的类型转换.但是,它的"隐式类型转换"可能跟其它语言不同,因为 Python 中的数字是一种特殊的对 ...

  8. 基于Celery在多台云服务器上实现分布式

    起源 最近参加公司里的一个比赛,比赛内容里有一项是尽量使用分布式实现项目.因为项目最终会跑在jetsonnano,一个贼卡的开发板,性能及其垃圾.而且要求使用python? 找了很多博客,讲的真的是模 ...

  9. Fibonacci and Counting(水题)

    链接:https://ac.nowcoder.com/acm/contest/303/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  10. 03 父子组件sync&update

    父组件传给子组件是基本数据类型. 父组件 <template> <el-container class="consele-container"> <e ...