什么是进程
什么是线程
进程和线程的区别
并发和并行
线程的两种创建方式
class MyThread1 extends Thread {
@Override
public void run() {
//for循环
for (int i = 0; i < 100; i++) {
System.out.println("我是Mythread1线程里面的代码");
}
}
}
class MyThread2 extends Thread {
@Override
public void run() {
//for循环
for (int i = 0; i < 100; i++) {
System.out.println("我是Mythread2线程里面的代码");
}
}
}
public class Demo1 {
public static void main(String[] args) {
//main一个线程
//实例化出来一个线程对象
MyThread1 myThread1 = new MyThread1();
//通过调用start方法开启线程一定是start方法
myThread1.start();
MyThread2 myThread2 = new MyThread2();
myThread2.start();
//4个线程 2个myThread 1main 1jvm 垃圾回收器
for (int i = 0; i < 100; i++) {
System.out.println("我是main主函数线程");
}
}
}
第二种创建方式【开发中用的】
1. 写一个类去实现Runnable接口,实现run方法
2.实例化Thread类,然后构造器的参数是一个实现Runnable接口的对象
class MyThread4 implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 100; i++) {
System.out.println("MyThread" + i);
}
}
}
public class Demo2 {
public static void main(String[] args) {
//第二种写法
Thread thread = new Thread(new MyThread4());
thread.start();//开启线程
for (int i = 0; i < 100; i++) {
System.out.println("main:" + i);
}
}
}