package cn.itcast.demo02_NiMingthread;
/*
* 使用Thread作为父类的匿名内部类
*
* 格式:
* new Thread(){
* //重写Thread中的run方法,否则没意义
* public void run(){
* 任务代码...
* }
* }.start();
*
* 使用Runnable作为父类的匿名内部类
*
* 格式:
* new Thread(
* new Runnable(){
* public void run(){
* 任务代码...
* }
* }
* ).start();
*/
public class Demo01 {
public static void main(String[] args) {
//m1();
m2();
}
//练习Thread作为父类的匿名内部类
public static void m1(){
new Thread(){
@Override
public void run() {
//任务代码
for(int i=0;i<=10;i++){
System.out.println("线程:"+getName()+" "+i);
}
}
}.start();
new Thread(){
@Override
public void run() {
//任务代码
for(int i=0;i<=10;i++){
System.out.println("线程:"+getName()+" "+i);
}
}
}.start();
new Thread(){
@Override
public void run() {
//任务代码
for(int i=0;i<=10;i++){
System.out.println("线程:"+getName()+" "+i);
}
}
}.start();
}
//练习使用Runnable作为父类的匿名内部类
public static void m2(){
new Thread(
new Runnable(){
public void run() {
//获取线程的名字
String name = Thread.currentThread().getName();
for(int i=0;i<20;i++){
System.out.println("第二种方式的线程:"+name+" "+i);
}
}
}
).start();
new Thread(
new Runnable(){
public void run() {
//获取线程的名字
String name = Thread.currentThread().getName();
for(int i=0;i<20;i++){
System.out.println("第二种方式的线程:"+name+" "+i);
}
}
}
).start();
new Thread(
new Runnable(){
public void run() {
//获取线程的名字
String name = Thread.currentThread().getName();
for(int i=0;i<20;i++){
System.out.println("第二种方式的线程:"+name+" "+i);
}
}
}
).start();
}
}
|
|