专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java线程学习教程:多线程基础开发

Java线程学习教程:多线程基础开发

更新时间:2020-02-26 11:02:05 来源:动力节点 浏览1797次


  1.线程与并发


  1.1.理解线程与进程的区别(了解)


  进程:是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以有多个线程(1,n)。比如在Windows的任务管理器中,一个运行的xx.exe就是一个进程。


  线程:是指进程中的一个执行任务(控制单元),一个进程中可以运行多个线程,多个线程可共享数据。


  多进程:操作系统中同时运行的多个程序。


  多线程:在同一个进程中同时运行的多个任务。


  一个进程至少有一个线程,为了提高效率,可以在一个进程中开启多个控制单元,这就是多线程。


  1.2.主线程main(了解)


  在运行一个简单的Java程序的时候,就已经存在了两个线程,一个是主线程,一个是后台线程——维护的垃圾回收。主线程很特殊,在启动JVM的时候自动启动的。


  1.3.线程的创建和启动(掌握)


  方式一,继承Thread类:


  自定义类继承Thread


  覆写run方法


  创建自定义类对象


  自定义类对象调用start方法


Java线程学习教程:多线程基础开发


  方式二,实现Runnable接口


  自定义类实现Runnable接口


  覆写run方法


  创建自定义类对象


  把自定类的对象作为Thread类构造器参数,并调用Thread对象start方法


Java线程学习教程:多线程基础开发


  第一种使用起来方便,启动一个线程也方便,很多功能都在Thread类中定义好了;


  第二种方式启动得依赖于Thread,因为本身Runnable中只有run方法,请看Thread的构造方法。


  1.3.1.线程体-run方法(掌握)


  不管哪种方式创建的线程,都得覆写run方法,因为这是线程体方法,该方法在线程启动之后会自动被调用。


  publicvoidrun(){


  //线程体,线程启动时,会自动调用本方法,所有这里是我们写代码的主体部分


  }


  线程的执行随机性:


  一旦一个线程启动之后就是一个独立的线程,等待CPU的调度分配资源,不会因为启动它的外部线程结束而结束。


Java线程学习教程:多线程基础开发


  多次运行该程序,观察每次运行的结果。


  1.3.2.线程的启动(掌握)


  启动线程必须调用线程类Thread中的start方法,该方法应该由Thread类的一个实例来调用,下面是方法签名:


  publicvoidstart()


  底层会调用该线程的run方法。


  只有调用了线程对象的start方法才会开启一个新的线程,如果是直接调用对象的run方法不会开启新的线程,只是一个单线程。


  注意:启动一个新线程,不能使用run()方法,只能使用start方法。


      以上就是动力节点Java培训机构小编介绍的“Java线程学习教程:多线程基础开发”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>