一,操作系统中进程和线程的概念。
进程是指一个内存中运行的应用程序,每个进程都有独自的内存空间,一个线程可以启动多个线程。如再windows中一个运行的如,QQ.exe就是一个进程。
线程是指进程中的一个执行流程,一个进程可以运行多个线程,如,java.exe进程可以运行很多线程。线程属于某个进程,进程中的多个线程共享进行的内存。
同时只是个人感觉,线程之间是轮换执行。
二,java和线程
线程可以说是java的一大特色。
在java中启动线程非常便捷,可以采用编写一个类继承java.lang.Thread类 或 编写一个类实现java.lang.Runnable接口 来定义,实例化,启动新的线程。
一个Thread类实例只是一个对象,和java中的任何其他对象一样,有变量,有方法,生死于堆上。
java中,每个线程都有一个调用栈,即使不在程序中创建任何新的线程,线程也在后台运行着。
main()方法运行在线程内,是程序的主线程,是程序的主入口。
一旦创建了新的线程,就意味着产生一个新的调用栈。
线程分为守护线程和用户线程。
当所有的用户线程执行完毕,java虚拟机会自动关闭,但是守护线程不独立于java虚拟机。守护线程一般是由操作系统或者用户自己创建的。