什么是线程?

来源:互联网 发布:大数据建设推进会讲话 编辑:程序博客网 时间:2024/05/17 02:54
线程的概念并不难于掌握:它是程序代码的一个独立的执行通道。当多个线程执行时,经由相同代码的一个线程的通道通常与其它的不同。例如,假设一个线程执行一段相当于一个if-else语句的if部分的字节代码时,而另一个线程正执行相当于else部分的字节代码。JVM怎样保持对于每一个线程执行的跟踪呢?JVM给每一个线程它自己的方法调用堆栈。另外跟踪当前指令字节代码,方法堆栈跟踪本地变量,JVM传递给一个方法的参数,以及方法的返回值。 当多个线程在同一个程序中执行字节代码序列时(若只有一个对象,则对象中的全局变量资源共享,若有多个不同对象则不存在资源共享的问题: 自己编著),这种行为叫作多线程。多线程在多方面有利于程序: ·当执行其它任务时多线程GUI(图形用户界面)程序仍能保持对用户的响应,比如重编页码或打印一个文档。 ·带线程的程序一般比它们没有带线程的副本程序完成得快。这尤其表现在线程运行在一个多处理器机器上,在这里每一个线程都有它自己的处理器。 Java通过java.lang.Thread类完成多线程。每一个线程对象描述一个单独的执行线程。那些运行发生在线程的run()方法中。因为缺省的run()方法什么都不做,你必须创建Thread子类并重载run()以完成有用的工作。
原创粉丝点击