美文网首页
多线程编程

多线程编程

作者: 东风谷123Liter | 来源:发表于2018-07-08 11:53 被阅读0次
    • JAVA VM 启动的时候会有一个进程java.exe

    • 该进程至少有一个线程负责java程序的运行

    • 而且这个线程的代码存在于main方法中

    • 该线程称之为“主线程”

    • 扩展:其实更多细节说明jvm,启动不止一个线程,还有垃圾回收机制线程

    Thread类在java.lang类中,可以查找API文档看其用法。

    • 创建新执行线程有两种方法。一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。
      • 定义类继承Thread类
      • 重写run()方法
      • 创建并启动线程(start()方法)
      • 注意进程运行时主线程结束进程不一定结束,要当所有线程都结束时进程才结束
      • 多核CPU内存受限,
    • 创建线程的另一种方法是声明实现 Runnable 接口的类。该类然后实现 run 方法。
      • 定义实现Runnable接口
      • 覆盖Runnable接口中的run方法
        • 将线程要运行的代码存放在run方法中
      • 通过Thread类建立线程对象
      • 将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
        • 因为自定义run方法所属对象是Runnable接口的子类对象,所以要让线程去指定指定对象的run方法,就必须明确该run方法的所属对象。
      • 调用Thread类的start方法开启线程,并调用Runnable接口子类的run方法。
    • 实现方式和集成方式有什么区别:
      • 实现方式:
        • 避免了单集成局限性,一个子类可继承多个接口类。
        • 集成Thread类:线程代码存放在Thread子类run方法中;
        • Runnable:存放在Runnable接口子类的run 方法中。

    相关文章

      网友评论

          本文标题:多线程编程

          本文链接:https://www.haomeiwen.com/subject/tpcouftx.html