线程状态以及线程方法

目录

线程状态

线程方法

线程插队

线程礼让

线程名字,优先级


线程状态

线程有四种状态

1.新建一个线程的时候 线程就处于 新生状态

2.调用。start()方法的时候线程就处于 就绪状态:系统随机运行线程,就绪状态不代表立即进入运行状态

3.运行状态:线程被系统调用到 开始运行

4.阻塞状态:产生阻塞的几种方法 上锁synchronized ,等待wait(),延迟sleep(),插队join()//下面会一一介绍使用(阻塞状态接触后并不能直接进入运行状态,而是进入就绪状态等待系统调用

5.死亡状态:线程结束  run()方法跑完。(线程死亡后无法再次进入新生状态,再次新生的是另一个线程了)

  线程五种状态关系如下图所示

 

线程方法

如下图所示

线程插队

package com.thread02;
/*
 * 线程插队,强制执行
 */
public class ThreadJoin implements Runnable{
    public static void main(String[] args) {
		ThreadJoin my =new ThreadJoin();
		//new Thread(t).start();
		Thread t=new Thread(my);
		t.start();
		for(int i=0;i<5;i++) {
			if(i>2) {
				try {
					t.join();
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			System.out.println(Thread.currentThread().getName()+"I="+i);
		}
	}

	@Override
	public void run() {
		//编写线程体
		for(int i=0;i<5;i++) {
			System.out.println(Thread.currentThread().getName()+"====="+i+"-------");
		}
		
	}
	
}

线程礼让

package com.thread02;

public class ThreadYeild1 implements Runnable {

	public static void main(String[] args) {
		ThreadYeild1 my=new ThreadYeild1();
		Thread t1=new Thread(my,"线程A");
		Thread t2=new Thread(my,"线程B");
		t1.start();
		t2.start();
		
	}

	@Override
	public void run() {
	 for(int i=0;i<20;i++) {
		 if(i==2) {
			 System.out.println(Thread.currentThread().getName()+"礼让");
			 Thread.yield();
		 }
		 System.out.println(Thread.currentThread().getName()+"i="+i);
	 }
		
	}

}

线程名字,优先级

package com.thread02;

public class ThreadName implements Runnable {
   public static void main(String[] args) {
	new Thread(new ThreadName()).start();
	ThreadName t1=new ThreadName();
	ThreadName t2 =new ThreadName();
	new Thread(t1).start();
	new Thread(t2).start();
	   
}

@Override
public void run() {
	Thread t= Thread.currentThread();
	System.out.println("当前线程名称"+t.getName());
	System.out.println("当前线程优先级"+t.getPriority());
	
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值