什么是java线程池,什么是java线程同步

  什么是java线程池,什么是java线程同步

  

  什么是java线程

  Java中线程是指java.lang.Thread类的一个实例或线程的执行。使用java.lang.Thread或java.lang.Runnable接口编写代码定义、实例化、启动新线程。

  1、进程

  进程是指在内存中运行的应用程序。每个进程都有自己独立的内存空间,一个进程中可以启动多个线程。例如,在Windows系统中,一个正在运行的exe就是一个进程。

  2、线程

  线程是指进程中的一个执行进程,一个进程可以运行多个线程。例如,java.exe进程可以运行许多线程。线程总是输入到一个进程中,进程中的多个线程共享进程的内存。

  推荐教程:java教程

  3、Java的线程模型

  因为Java是纯面向对象的语言,所以Java的线程模型也是面向对象的。Java Thread类封装了线程的所有必要功能。要构建一个线程,必须有一个线程执行函数,对应的是线程类的run方法。Thread类还有一个start方法,负责设置一个线程,相当于调用Windows的CreateThread函数。调用start方法时,如果线程建立成功,则自动调用线程类的run方法。所以任何继承Thread的Java类都可以通过Thread类的start方法建立一个线程。如果你想运行你自己的线程执行函数,你必须覆盖线程类的run方法。

  Java的线程模型中除了Thread类,还有一个接口runnable,标识一个Java类是否可以作为线程类使用。这个接口只有一个抽象方法运行,就是Java线程模型的线程执行函数。因此,线程类的唯一标准就是该类是否实现了Runnable接口的Runnable方法,即具有线程执行功能的类就是线程类。

  从上面可以看出,Java中构建线程有两种方式,一种是继承Thread类,另一种是实现Runnable接口,通过Thread和实现Runnable的类来构建线程。其实这两种方法本质上是一种方式,就是都是通过Thread类构建线程,运行run方法。但两者最大的区别是线程是通过继承Thread类建立的。虽然更容易实现,但是因为Java不支持多重继承,如果这个线程类继承了Thread,就不能继承其他类。因此,Java线程模型提供了一种通过实现Runnable接口来建立线程的方法,使得线程类可以在必要时继承业务相关的类,而不是线程类。

   Java程序都是在Java虚拟机(JVM)中运行的。在JVM中,程序的多任务是通过线程实现的。每次用java命令启动java应用程序时,都会启动一个JVM进程。同一个JVM进程中,只有一个进程,就是它自己。在这个JVM环境中,所有程序代码都作为线程运行。

  一般常见的Java应用都是单线程的。例如,当您用java命令运行最简单的HelloWorld java应用程序时,您启动了一个JVM进程。JVM找到程序main()的入口点,然后运行main()方法,这样就创建了一个线程,称为主线程。当main方法完成时,主线程完全运行。JVM进程也存在。也就是java线程的细节是什么?更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: