进程:运行着的应用程序;进程之间的内存不是共享的。
多线程:在单个进程中同时运行多个线程完成不同的工作。
关于多线程:
1、进程内并发执行的代码段(单核CPU宏观上并行,微观上还是串行)。
2、线程之间共享内存
3、主要用于创建灵活相应的桌面程序
4、每个运行着的线程对应一个stack
5、每个应用程序至少有一个线程:主线程
创建线程方式一:继承Thread类
1、子类覆盖父类中的run()方法,将线程运行的代码存放在run()中。
2、建立子类对象的同时线程也被创建
3、通过调用start()方法开启线程。
举个简单的小例子:
public class ThreadDemo {
public static void main(String[] args){
//创建线程对象
MyThread t1=new MyThread("Thread-1");
MyThread t2=new MyThread("Thread-2");
//调用start()方法,线程开始执行
t1.start();
t2.start();
}
}
//线程
class MyThread extends Thread{
private String name;
public MyThread(String name){//构造函数
this.name=name;
}
public void run(){
//死循环
for(;;){
System.out.println(name);
Thread.yield(); //yield()方法:让当前线程暂时让出CPU的抢占权,具有谦让之意,瞬时的动作。该方法是静态方法,与对象无关,所以直接用类名调用。
}
}
}