线程从OOP的角度来说:
相当于一个对象,该对象中具有执行代码,同时也有要处理的数据,数据包含Thread工作时候要访问的数据,同时也包含现程的Stack,在Stack中包含了拷贝的全局数据;
线程从面向过程的角度来说:
线程=代码+数据
多线程的Java应用程序:
为了让每个线程正常工作就提出了程序计数器(Program Counter Register),每个线程都有自己的程序计数器,这样当线程执行切换的时候就可以在上次执行的基础上继续执行,仅仅从一条线程执行的角度而言,代码是一条一条的往下执行的,这个时候就是Program Counter Register,jvm就是通过读取Program Counter Register的值来决定该线程下一条需要执行的字节码指令,进而进行选择语句、循环、异常处理等。