一、引言

  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. nova 通过 python curl 创建虚拟机---keystone v3

    #! /bin/python #coding=utf- import urllib2 import json import requests # token post_url = 'http://10 ...

  2. 第一篇Scrum冲刺博客

    目录 一.Alpha 阶段认领的任务 二.明日成员的任务安排 三.整个项目预期的任务量 四.敏捷开发前的感想 五.团队期望 一.Alpha 阶段认领的任务 陈起廷 任务 预计时间 日记天气.心情选择 ...

  3. 推荐一款万能抓包神器:Fiddler Everywhere

    搞IT技术的同行,相信没有几个人是不会抓包这项技能的(如果很不幸你中枪了,那希望这篇文章给你一些动力),市面上的抓包工具也有很多,常用的有:Charles.Fiddler.Burpsuite.Wire ...

  4. SEO工程师考试题目

    http://www.wocaoseo.com/thread-201-1-1.html      SEO,全名Search Engine Optimization,其中文名字为'搜索引擎优化' .其英 ...

  5. WPF Devexpress 控件库中ChartControl 实现股票分时走势图

    概要 从事金融行业开发 ,会接触些图表控件,这里我分享一下自己基于DevExpress.Charts.v16.2开发的股票分时走势图的经验. 附上源码:点击跳转 如果需要讨论,Q群:580749909 ...

  6. element UI 上传文件成功后 - 清空文件

    request({ url: '/jiekou', method: 'post', data }).then(res => { this.$message({ type: 'success', ...

  7. Laravel Facade原理及使用

    Laravel Facade原理及使用 laravel过于庞大,加之笔者水平有限,所以后面的源码解读会按模块功能介绍,希望能帮大家稍微捋顺下思路,即使能够帮助大家回顾几个函数也好.如发现错误,还望指正 ...

  8. js中map()、some()、every()、filter()的区别

    js的Array对象有map.some.every.filter几个方法都能对数组中的每个对象进行处理,但是他们之间的功能又各有差别,所以在记下. map():通过指定函数处理数组的每个元素,并返回处 ...

  9. render 强大的渲染函数

    可以动态的创建节点 可以改变表格中要去换一种形式去展示的列 (未完暂定)

  10. 【代码优化】Unity查漏补缺

    1.XML: 使用Unity社区中的开源脚本(Js语言)解析XML文件,网址:http://dev.grumpyferret.com/unity/,已打包XMLParser.unitypackage, ...