002 线程的创建
Posted 最爱五仁月饼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了002 线程的创建相关的知识,希望对你有一定的参考价值。
一 . 概述
线程的创建由两种方式,其实本质上讲仅仅有一种.
[1]继承Thread,重写run()方法.
[2]实现Runnable接口,重写run()方法.
我们其实可以将实现Runnable方法作为一种策略模式的实现.
二 .继承Thread创建线程
@Test public void test() { new Thread() { public void run() { for(;;) System.out.println("running...."); }; }.start(); }
三 . 实现Runnable接口
@Test public void test2() { new Thread(new Runnable() { @Override public void run() { for(;;) System.out.println("running ... "); } }).start(); }
四 .比较
实际上线程的创建方式只有一种,就是创建Thread对象,然后启动该线程,否则new状态的线程实际上并不是真正的线程.
那么,Runnable接口又是什么情况呢?
其中的run()方法只是线程逻辑单元.
我们可以理解为是一种策略模式的应用,我们创建的线程是在执行不用的算法(策略).
注意 : 线程的启动是需要调用JNI代码的,也就是JVM分配了线程资源之后才能算得上是一个线程.
以上是关于002 线程的创建的主要内容,如果未能解决你的问题,请参考以下文章
HLS NGINX-RTMP [错误] 1281#0:* 58 hls:强制片段拆分:10.002 秒