java初始化Thread t1 = new Thread()是什么意思?

import java.util.*;class TimePrinter implements Runnable { int pauseTime; String name; public TimePrinter(int x, String n) { pauseTime = x; name = n; } public void run() { while(true) { try { System.out.println(name + ":" + new Date(System.currentTimeMillis())); Thread.sleep(pauseTime); } catch(Exception e) { System.out.println(e); } } } static public void main(String args[]) { Thread t1 = new Thread(new TimePrinter(1000, "Fast Guy")); t1.start(); Thread t2 = new Thread(new TimePrinter(3000, "Slow Guy")); t2.start(); }}

开满天机
浏览 705回答 3
3回答

qq_笑_17

Thread(Runnable target)Thread(String name)以上是api中的两个thread的一个参数的构造方法,均是为了分配一个新的线程。两个构造函数一个传入的是runnable对象,一个是string这个线程的名字。纵观你的java类,new TimePrinter(1000, "Fast Guy")即为创建了一个你当前类的对象,而你当前类实现了Runnable 接口,即你新建一个当前类的对象即为runnable对象,如此我们可以很清晰的看到new Thread(new TimePrinter(1000, "Fast Guy")),向Thread t1中传递的为一个runnable对象,即为这个t1的线程中绑定了你当前类的一个run方法在其中。而接下来,t1.start();即为启动当前类的run方法,传递进去的1000即为线程Thread.sleep(pauseTime); 的睡眠时间。整观整个java类的作用即是打印输出你传入的name名字加当前时间,线程睡眠一秒钟之后。不停的循环打印你当前的名字和时间。PS:多看api,多动脑筋想问题,多写代码,总有一天你也会成长为一个高手。

ABOUTYOU

Thread t1 = new Thread(new TimePrinter(1000, "Fast Guy"))分步解释:TimePrinter是一个继承了thread类的一个子类,里面有两个参数,一个是时间间隔1000,另外一个是打印的字符串,也就是每个1秒打印一个Fast Guy。把new TimePrinter(1000, "Fast Guy")传入一个thread中,意思是起一个线程来调用这个一步执行,t1 .start便可以启动打印任务。

呼啦一阵风

就是用TimePrinter对象去初始化一个线程对象啊、Thread(Runnable target) 是JDK手册中thread的一个参数的构造方法,为了分配一个新的线程。纵观你的java类,new TimePrinter(1000, "Fast Guy")即为创建了一个你当前类的对象,而你当前类实现了Runnable 接口,即你新建一个当前类的对象即为runnable对象,如此我们可以很清晰的看到new Thread(new TimePrinter(1000, "Fast Guy")),向Thread t1中传递的为一个runnable对象,即为这个t1的线程中绑定了你当前类的一个run方法在其中。而接下来,t1.start();即为启动当前类的run方法,传递进去的1000即为线程Thread.sleep(pauseTime); 的睡眠时间。整观整个java类的作用即是打印输出你传入的name名字加当前时间,线程睡眠一秒钟之后。不停的循环打印你当前的名字和时间。
打开App,查看更多内容
随时随地看视频慕课网APP