线程与进程区别
进程是所有线程的集合,每一个线程是进程中的一条执行路径。
多线程创建方式
1.继承Thread类 重写run方法
public class CreateThread extends Thread {
// run方法中编写 多线程需要执行的代码
public void run() {
for (inti = 0; i< 10; i++) {
System.out.println("i:" + i);
}
}
}
public class ThreadDemo {
public static void main(String[] args) {
System.out.println("-----多线程创建开始-----");
// 创建一个线程
CreateThread createThread = new CreateThread();
// 开始执行线程 注意 开启线程不是调用run方法,而是start方法
System.out.println("-----多线程创建启动-----");
createThread.start();
System.out.println("-----多线程创建结束-----");
}
}
2.实现Runnable接口,重写run方法
public class CreateRunnable implements Runnable {
@Override
public void run() {
for (inti = 0; i< 10; i++) {
System.out.println("i:" + i);
}
}
}
public class ThreadDemo2 {
public static void main(String[] args) {
System.out.println("-----多线程创建开始-----");
// 创建一个线程
CreateRunnable createThread = new CreateRunnable();
// 开始执行线程 注意 开启线程不是调用run方法,而是start方法
System.out.println("-----多线程创建启动-----");
Thread thread = new Thread(createThread);
thread.start();
System.out.println("-----多线程创建结束-----");
}
}
3.使用匿名内部类方式
public class ThreadDemo3 {
public static void main(String[] args) {
System.out.println("-----多线程创建开始-----");
Thread thread = new Thread(new Runnable() {
public void run() {
for (int i = 0; i< 10; i++) {
System.out.println("i:" + i);
}
}
});
thread.start();
System.out.println("-----多线程创建结束-----");
}