线程与进程区别
进程是所有线程的集合,每一个线程是进程中的一条执行路径。
多线程创建方式
1.继承Thread类 重写run方法
代码:
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方法
代码:
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("-----多线程创建结束-----"); }