Java多线程一:多线程的创建一之继承Thread类
多线程创建方式一:继承Thread类
一、继承Thread类方式创建多线程步骤
1.创建一个继承于Thread类的子类
2.重写Thread类的run()---->将此线程执行的操作声明在run()中
3.创建Thread类的子类的对象
4.通过此对象调用start()
例子:创建两个分线程,一个遍历100以内的偶数,一个遍历100以内的奇数
package com.ni.multithreading; //遍历偶数 //1.创建一个继承于Thread类的子类 class EvenNumber extends Thread{ //2.重写Thread类的run() @Override public void run() { for (int i = 0; i < 100; i++) { if (i%2==0) { System.out.println(Thread.currentThread().getName()+":"+i); } } } } //遍历奇数 class OddNumber extends Thread{ @Override public void run() { for (int i = 0; i < 100; i++) { if (i%2!=0) { System.out.println(Thread.currentThread().getName()+":"+i); } } } } public class ThreadTest2 { public static void main(String[] args) { //3.创建Thread类的子类的对象 EvenNumber e1 = new EvenNumber(); OddNumber o2 = new OddNumber(); //设置分线程名称 e1.setName("分线程1"); o2.setName("分线程2"); //4.通过此对象调用start() e1.start(); o2.start(); } }
执行结果:

出现线程交互。
二、Thread类的相关方法
void start():启动线程,并执行对象的run()方法
run():线程在被调度时执行的操作
String getName():返回线程名称
void setName(String name):设置线程名称
static Thread currentThread():返回当前线程,通常用于主线程和Runnable实现类
static viod yield():线程让步,暂停当前正在执行的线程,让优先级更高或相同的线程来执行
join():在一个程序执行流中调用其他线程的join()方法,这时当前线程被阻塞,直到join()方法加入的线程执行完为止
static void sleep(long millis):指定时间为毫秒。使当前线程在指定时间内放弃对执行,让其他线程有机会执行,时间到后重新排队,使用该方法需要抛出InterruptedException异常
stop():强制结束线程生命周期
boolean isAlive():返回boolean,判断线程是否还活着
三、线程优先级
1、线程优先级等级
Max_PRIORITY:10
MIN_PRIORITY:1
NORM_PRIORITY:10
2、方法
getPriority():返回线程优先值
setPriority(int newPriority):改变线程优先级
3.说明
(1)线程创建时继承父线程的优先级。
(2)低优先级只是获得调度的概率低,并非一定是在高优先级线程之后才被调用。
浙公网安备 33010602011771号