//1. 重写run()方法创建一个线程
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("开始执行线程");
int a = 0;
for (long i = 0; i < count; i++) {
a += 5;
}
System.out.println("a:" + a);
}
});
thread1.start();
//2. lambda表达式创建线程
new Thread(() -> System.out.println("这最简单的lambda线程")).start();
// 3. lambda表达式创建线程并定义名字
new Thread(() -> {
while (i <= 100) {
if (flag == false) {
System.out.println(Thread.currentThread().getName() + i);
i++;
flag = true;
}else {
System.out.println("奇"+i);
}
}
}, "奇数线程:").start();
// 4. lambda创建自定义线程
Runnable runner4 = ()->{
StringBuffer s = new StringBuffer();
System.out.println("这是自定义的lambda线程");
for(int i= 0;i < 10;i++) {
System.out.println(s.append("haha"));
}
};
new Thread(runner4).start();
// 5. 实现runable接口 创建线程
public class MyRunable implements Runnable {
@Override
public void run() {
System.out.println("000");
}
public static void main(String[] args) {
new Thread(new MyRunable()).start();
}
}
2. 线程执行顺序
//2. 让线程thread2在线程thread1之后执行
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
try {
thread1.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("开始执行线程222");
int a = 0;
for (long i = 0; i < count; i++) {
a += 5;
}
System.out.println("a222:" + a);
}
});