1.继承Thread类
package com.zs.learn01;
/**
* Description 创建线程继承Thread<br/>
* Copyright (c) , 2019年4月23日 JK <br/>
* This program is protected by copyright laws. <br/>
* Program Name:ThreadDemo.java <br/>
*
* @author sdjok
* @version : 1.0
*/
public class ThreadDemo extends Thread{
//实现run方法
@Override
public void run() {
//run方法中添加线程的执行逻辑
for(int i=0;i<100;i++) {
System.out.println("听音乐:" + i);
}
}
public static void main(String[] args) {
//main方法中创建线程对象
ThreadDemo td = new ThreadDemo();
for(int i = 0;i<100;i++) {
if(i == 50) {
//启动线程
td.start();
}
System.out.println("打游戏:" + i);
}
}
}
2.实现Runnable接口
package com.zs.learn01;
/**
* Description: 实现Runnable接口<br/>
* Copyright (c) , 2019年4月23日 JK <br/>
* This program is protected by copyright laws. <br/>
* Program Name:RunnableDemo.java <br/>
*
* @author sdjok
* @version : 1.0
*/
public class RunnableDemo implements Runnable {
public static void main(String[] args) {
Thread t = new Thread(new RunnableDemo());
//main方法中创建线程对象
for(int i = 0;i<100;i++) {
if(i == 50) {
//启动线程
t.start();
}
System.out.println("打游戏:" + i);
}
}
@Override
public void run() {
//添加线程的执行逻辑
for(int i=0;i<100;i++) {
System.out.println("听音乐:" + i);
}
}
}
3.继承Thread匿名内部类版
package com.zs.learn01;
/**
* Description: 继承Thread匿名内部类版<br/>
* Copyright (c) , 2019年4月23日 JK <br/>
* This program is protected by copyright laws. <br/>
* Program Name:NImingDemo01.java <br/>
*
* @author sdjok
* @version : 1.0
*/
public class NImingDemo01 {
public static void main(String[] args) {
//线程类继承了Thread类 使用匿名内部类的方式实现
for(int i= 0;i<100;i++) {
if(i==10) {
new Thread() {
public void run() {
for(int j=1;j<100;j++) {
System.out.println("听歌:" + j);
}
};
}.start();
}
System.out.println("打游戏:" + i);
}
}
}
4.实现Runnable接口匿名内部类
package com.zs.learn01;
/**
* Description: 实现Runnable匿名内部类版<br/>
* Copyright (c) , 2019年4月23日 JK <br/>
* This program is protected by copyright laws. <br/>
* Program Name:NImingDemo01.java <br/>
*
* @author sdjok
* @version : 1.0
*/
public class NImingDemo01 {
public static void main(String[] args) {
//线程类继承了Thread类 使用匿名内部类的方式实现
for(int i= 0;i<100;i++) {
if(i==10) {
new Thread(new Runnable() {
@Override
public void run() {
for(int j=0;j<100;j++) {
System.out.println("听音乐:" + j);
}
}
}).start();
}
System.out.println("打游戏:" + i);
}
}
}
5.lambda表达式版
package com.zs.learn01;
/**
* Description: lambda表达式版<br/>
* Copyright (c) , 2019年4月23日 JK <br/>
* This program is protected by copyright laws. <br/>
* Program Name:NImingDemo01.java <br/>
*
* @author sdjok
* @version : 1.0
*/
public class NImingDemo01 {
public static void main(String[] args) {
for(int i=0;i<100;i++) {
if(i==10) {
//lambda表达式创建线程并启动
new Thread(()->{
for(int j=0;j<100;j++) {
System.out.println("听音乐:" + j);
}
}).start();
}
System.out.println("打游戏:" + i);
}
}
}