Java多线程基础
进程和线程的概念
- 应用程序是静态的概念,进程和线程是动态概念,有创建就有销毁,存在也是暂时的,不是永久性的。
- 进程与线程的区别在于进程在运行时拥有独立的内存空间(每个进程所占有的内存都是独立的)
- 多个线程是共享内存空间的,但是每个线程的执行时相互独立的,同时线程必须依赖于进程才能执行,单独的线程是无法执行的,由进程来控制多个线程的执行。
- 我们通常所说的多线程是指在一个进程中,多个线程同时执行
这里说的同时执行不是真正意义上的同时执行,系统会自动为每个线程分配cup资源,在某个具体时间段内CPU的资源被一个线程占用,在不同的时间段内由不同的线程来占用CPU资源,所以多个线程还是在交替执行,只不过因为CPU运行速度太快,感觉上是在同时执行
主线程
class MyTest{
public void test(){
System.out.println("MyTest");
}
}
public class Test{
public static void main(String[] args){
System.out.println("Thread");
MyTest myTest = new MyTest();
myTest.test();
}
}
程序运行起来之后只有一个线程在执行,就是main方法,所以main方法也叫作陈旭的主线程,main方法中无论调用多少个其他类的方法,也都只是一个线程