进程
Java的程序都是再虚拟机中运行的,不允许相互访问,所以每次运行程序的时候都是创建了一个进程,但是数据是不共享的。
Java的进程的动态壁垒几乎不可能被打破。
所以,我们就需要线程,加快解决问题的速度。
线程
线程就是在同一个虚拟机中,各自的线程运行自己线程的主函数,而线程的主程序需要main函数启动(这里的主函数就是一个进程)
package edu;
class T extends Thread{//创建一个线程
//继承线程类Thread
private Integer i=null;
public T(Integer i){
this.i=i;
}
public void run(){//创建新线程的一个主函数
for (;;){
System.out.println(i++);
}
}
}
public class Text {
public static void main(String[] args) {
//线程就是在同一个进程中进行不同的程序
//线程和进程使用的是同一个空间
//进程中创建线程
//线程由另一个线程的启动
//几乎所有的线程是由其他的线程启动(主线程)
Integer i=0;//包装类保存的是地址 ,所以使用包装类
T t=new T(i);
//管理线程类需要靠Thread
T t1=new T(i);
// t.run();
// t1.run();//不能用run执行任务
t.start();
t1.start();
}
}
如果使用run方法执行任务就不是多线程了,Thread是管理进程的方法,这就是在一个进程里同时运行两个线程的代码。