线程被称为轻量级的进程,线程是进程的执行单元,就像进程在操作系统中的地位一样。线程在程序中是独立的,并发的执行流。当进程被初始发,主线程就被创建,一般的应用程序,仅要求有一个主线程,但我们也可以在该进程中创建多条顺序执行流,这些顺序执行流就是线程,并且是独立的。注:一个程序运行后,至少有一个进程,一个进程中可以包含多个线程,但至少要包含一个线程。
多线程:在同一个应用程序中,同时有多个顺序执行流同时执行。
进程:当一个程序进入内存执行就变成了一个进程,进程处于运行过程,具有一定的独立性,进程是系统资源进行分配和调用的独立单位,所以切换进程,开销大。特点:独立性,并发性,动态性。
多进程:在操作系统中,能同时运行多个任务的程序。
多线程的优点:
(1)进程不能共享内存,但是线程却可以共享内存。
(2)操作系统在创建进程时,必须给该进程重新分配系统资源,但是创建线程代价要小得多。因此使用多线程来实现多个任务并发要比多个进程效率高。
(3)java语言内置了多线程功能 的支持,而不是单纯的作为底层的操作系统的调用方式,从而简化了java多线程的编程。
实现一个进程有二种方法:
(1)继承thread类,重写run方法,用线程对象的start方法来启动线程。
(2)实现Runable接口,重写run方法,用start方法启动线程。