目录

15.3.1线程的名字

15.3.2得到当前线程

1.Thread类的静态方法

2.使用Thread.currentThread()方法

15.3.3让线程沉睡

1.thread类的静态方法sleep()

 sleep()方法是个静态方法


15.3.1线程的名字

学习一下Thread类的name属性,它的类型String。在Thread中String getname()和void setName(String)两个方法用来设置和获取这个属性的值。

Thread(String name):接受一个Runnable实例和一个String实例为参数Thread类构造方法。其中Runnable中的run()方法就是线程将要执行的方法,String实例就是这个线程的名字。

Thread (Runnable target,String name):接受一个Runnable实例和一个String实例为参数的Thread类构造法。其中Runnable中的run()方法就是线程将要执行的方法,String实例就是这个线程的名字。

package com.javaeasy.threadname;

public class ShowThreadname extends Thread {
	public ShowThreadname() {
		super();
	}
	public ShowThreadname (String name) {
		super(name);
	}

	public void run() {
		System.out.println("这个线程的名字是"+this.getName());
	}
}
package com.javaeasy.threadname;

public class ShowThreadNameMain {

	public static void main(String[] args) {
		
		// TODO Auto-generated method stub
		ShowThreadname defaultName =new ShowThreadname();
		ShowThreadname name =new ShowThreadname("线程的名字");
		defaultName.start();
		name.start();
	}

}

javathread方法 java thread类方法和属性_eclipse

Thread可以通过setName和getName来设置/得到线程的名字

15.3.2得到当前线程

1.Thread类的静态方法

线程是执行java的基本单位,也就是java最终都是线程来执行的。

2.使用Thread.currentThread()方法

package com.javaeasy.currentthread;

public class PrintCurrentThreadName {
	public void PrintCurrentThreadName() {
		Thread currentThread =Thread.currentThread();
		String threadName =currentThread.getName();
		System.out.print("执行代码的线程名叫做"+threadName);
	}
}

15.3.3让线程沉睡

设计一个小程秀,程序的功能是给用户提供加法运算测试,程序首先生成两个0-100的整数,将这两个整数输出到控制台上,而后程序会给用户提供5秒钟的思考时间,最后输出结果,供用户比较。

1.thread类的静态方法sleep()

sleep()方法是一个静态方法,没有返回值,接受一个long类型的参数。这个参数的意义就是线程需要沉睡的毫秒数

package com.javaeasy.threadsleep;

public class TestAddingInMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a=(int )(100*Math.random());//随机生成0-100的数
		int b=(int )(100*Math.random());//随机生成0-100的数
		System.out.println("请在5秒钟内计算下列两个整数的和"+a+"+"+b);
		try {
			Thread.sleep(5000);
			
		}catch(InterruptedException e) {  //异常检测
				System.out.println("对不起,程序运行出错,错误信息为:"+e.getMessage());
				return;
		}
		int result=a+b;
		System.out.println(a+"+"+b+"运算结果为:"+result);	
	}

}

javathread方法 java thread类方法和属性_javathread方法_02

 sleep()方法是个静态方法

在上述例程中,Thread直接调用sleep方法。也就是说thread.sleep()方法会让Thread.currentThread()这个线程挂起指定的时间。

package com.javaeasy.threadsleep;

public class TestAddingInMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a=(int )(100*Math.random());//随机生成0-100的数
		int b=(int )(100*Math.random());//随机生成0-100的数
		System.out.println("请在5秒钟内计算下列两个整数的和"+a+"+"+b);
		String currThreadName =Thread.currentThread().getName();
		System.out.println("执行的代码的线程叫做"+currThreadName);
		try {
			Thread.sleep(5000);
			
		}catch(InterruptedException e) {  //异常检测
				System.out.println("对不起,程序运行出错,错误信息为:"+e.getMessage());
				return;
		}
		int result=a+b;
		System.out.println(a+"+"+b+"运算结果为:"+result);	
	}

}

 

javathread方法 java thread类方法和属性_静态方法_03