进程
进程就是在一个内存中独立运行的程序,有自己的地址空间。
多任务:操作系统能同时运行多个进程(程序)。
线程
线程是进程内部单一的一个顺序控制流。(不可再分割)
进程和线程:
1)每一个进程都有独立的代码和数据空间,进程的切换的开销大;
2)线程:轻量的进程,同一类线程共享代码和数据空间,每一个线程有独立的运行栈和程序计数器(pc),线程切换的开销小。
3)多线程:在同一个进程中有多个顺序流同时进行。
线程体
java的线程是通过java.lang.Thread类来实现的。
每个线程都是通过某个特定的Thread对下那个所对应的的方法run()来完成其操作,方法run()称为线程体(即线程的可执行代码)。
主线程
在任何java程序启动时,一个线程立刻运行(即main方法对应的线程),该线程通常称为程序的主线程。
主线程的特点:
1)它是产生其他子线程的线程。
2)它不一定是最后完成执行的线程,子线程可能在它结束之后还在运行。
创建线程
有两种方法创建线程