Java SE线程的常用方法
CAMELLIA!!! note 目录
线程的常用方法
一、Java Thread
构造函数
构造函数 |
描述 |
Thread() |
初始化一个新平台 Thread 。 |
Thread(Runnable task) |
初始化一个新平台 Thread 。 |
Thread(Runnable task, String name) |
初始化一个新平台 Thread 。 |
Thread(String name) |
初始化一个新平台 Thread 。 |
Thread(ThreadGroup group, Runnable task) |
初始化一个新平台 Thread 。 |
Thread(ThreadGroup group, Runnable task, String name) |
初始化一个新平台 Thread ,使其具有 task 作为其运行对象、具有指定 name 的名称并且属于所引用的线程组 group 。 |
Thread(ThreadGroup group, Runnable task, String name, long stackSize) |
初始化一个新平台 Thread ,使其具有 task 作为其运行对象、具有指定 name 的名称、属于所引用的线程组 group 并且具有指定的堆栈大小。 |
Thread(ThreadGroup group, Runnable task, String name, long stackSize, boolean inheritInheritableThreadLocals) |
初始化一个新平台 Thread ,使其具有 task 作为其运行对象、以指定的 name 作为其名称、属于所引用的线程组 group 、具有指定的 stackSize ,并且如果 inheritInheritableThreadLocals 为 true ,则继承可继承线程局部变量的初始值。 |
Thread(ThreadGroup group, String name) |
初始化一个新平台 Thread 。 |
二、Java 线程方法
修饰符和类型 |
方法 |
描述 |
public void |
start() |
启动线程,调用线程的 run() 方法。 |
public void |
run() |
线程运行时执行的代码,需在子类中重写或在 Runnable 的实现类中实现。 |
public static void |
sleep(long millis) |
使当前线程休眠指定的毫秒数。 |
public final void |
join() |
等待该线程终止。 |
public static void |
yield() |
暂停当前正在执行的线程对象,并执行其他线程。 |
public void |
interrupt() |
中断线程。 |
public boolean |
isAlive() |
测试线程是否还活着。 |
public String |
getName() |
获取线程的名称。 |
public void |
setName(String name) |
设置线程的名称。 |
public int |
getPriority() |
获取线程的优先级。 |
public void |
setPriority(int priority) |
设置线程的优先级。 |
三、代码实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| package com.camellia.thread.MethodForThreads_3;
import org.junit.jupiter.api.Test;
public class ThreadMethodsTest {
@Test public void testThreadMethods() { Thread mainThread = Thread.currentThread(); System.out.println("主线程名称:" + mainThread.getName());
Thread thread = new MyThread(); thread.start();
thread = new MyThread(); thread.setName("Camellia@线程"); thread.start();
thread = new MyThread("XIAOHUA@线程"); thread.start(); } }
class MyThread extends Thread {
public MyThread() {}
public MyThread(String name) { super(name); }
@Override public void run() { Thread thread = Thread.currentThread(); System.out.println("分支线程名称:" + thread.getName()); } }
|
线程没有起名字的就默认是Thread-(0,1,2,3,4,5…),主线程除外。