1、继承Thread
package com.yzh.job.test;
public class Thread5 extends Thread{
public static void main(String[] args) {
new Thread5(){
public void run(){
boolean flag = true;
int count = 1;
while(flag){
try{
Thread5.sleep(500);
}catch(Exception e){
e.printStackTrace();
}
System.out.println(Thread5.currentThread().getName()+" 任务"+count);
if(count == 10){
flag = false;
}
count++;
}
}
}.start();
}
}
2、直接new Thread(),手写run方法
package com.yzh.job.test;
public class Thread6 {
public static void main(String[] args) {
Thread t = new Thread(){
public void run(){
int count = 1;
boolean flag = true;
while(flag){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" 任务"+count);
if(count == 10){
flag = false;
}
count++;
}
}
};
t.start();
}
}
3、new Runnable接口匿名内部类的方式
package com.yzh.job.test;
public class Thread7 {
public static void main(String[] args) {
Thread t = new Thread(new Runnable(){
@Override
public void run(){
int count = 1;
boolean flag = true;
while(flag){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" 任务"+count);
if(count == 10){
flag = false;
}
count++;
}
}
});
t.start();
}
}
4、实现Runnable接口
(1)
package com.yzh.job.test;
public class Thread8 implements Runnable{
@Override
public void run() {}
public static void main(String[] args) {
Thread t = new Thread(new Thread8(){
@Override
public void run(){
int count = 1;
boolean flag = true;
while(flag){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" 任务"+count);
if(count == 10){
flag = false;
}
count++;
}
}
});
t.start();
}
}
(2)
package com.yzh.job.test;
public class Thread8 implements Runnable{
@Override
public void run() {
int count = 1;
boolean flag = true;
while(flag){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" 任务"+count);
if(count == 10){
flag = false;
}
count++;
}
}
public static void main(String[] args) {
Thread t = new Thread(new Thread8());
t.start();
}
}