创建线程的两种方法:

第一种,定义线程,实现 Runnable接口

public class TestThread1{public static void main(String args[]){Runner1 r=new Runner1();          r.run();//Thread t=new Thread(r);//方法1//t.start();//方法1for (int i =0;i<100;i++){System.out.println("Main Thread:---------" + i);}}
}class Runner1 implements Runnable{public void run(){for (int i =0;i<100;i++){System.out.println("Runner1:" + i );}}
}

Start:Runner1和Main Thread交替运行。

run:Runner1先运行,Main Thread后运行

第二种,定义一个Thread的子类,并重写它的方法。

public class TestThread1{public static void main(String args[]){Runner1 r=new Runner1();r.start();//r.run();//   Thread t=new Thread(r);//  t.start();for (int i =0;i<100;i++){System.out.println("Main Thread:---------" + i);}}
}class Runner1 extends Thread{public void run(){for (int i =0;i<100;i++){System.out.println("Runner1:" + i );}}
}

  

建议:从接口来做一个线程比较灵活,推荐大家能使用接口的时候不要从Thread继承。继承就只能继承一个的,控制起来比较麻烦。

附录:

转载于:https://www.cnblogs.com/wangmei/p/4822403.html

线程:创建--【J2SE】相关推荐

  1. java 继承thread_java线程-创建线程(继承 Thread 类)

    1.创建线程的方式 线程创建方式是:继承 Thread 类,重写 run 方法.如下:public class Task extends Thread{ @Override public void r ...

  2. Java多线程学习(二)---线程创建方式

    线程创建方式 摘要: 1. 通过继承Thread类来创建并启动多线程的方式 2. 通过实现Runnable接口来创建并启动线程的方式 3. 通过实现Callable接口来创建并启动线程的方式 4. 总 ...

  3. linux内核线程创建销毁机制

    这个话题乍一听貌似比较大,其实线程创建本身就是一件很平常的事情. 下面将要介绍的是,新版linux中创建内核线程的机制做了一些变化(其实本质没变,最终还是调用do_fork()来实现),和控制线程的时 ...

  4. Win64 驱动内核编程-12.回调监控进线程创建和退出

    回调监控进线程创建和退出 两个注册回调的函数:PsSetCreateProcessNotifyRoutine   进程回调PsSetCreateThreadNotifyRoutine    线程回调分 ...

  5. 【Linux 内核】进程管理 ( 内核线程概念 | 内核线程、普通进程、用户线程 | 内核线程与普通进程区别 | 内核线程主要用途 | 内核线程创建函数 kernel_thread 源码 )

    文章目录 一.内核线程概念 二.内核线程.普通进程.用户线程 三.内核线程.普通进程区别 四.内核线程主要用途 五.内核线程创建函数 kernel_thread 源码 一.内核线程概念 直接 由 Li ...

  6. 【Android NDK 开发】JNI 线程 ( JNI 线程创建 | 线程执行函数 | 非 JNI 方法获取 JNIEnv 与 Java 对象 | 线程获取 JNIEnv | 全局变量设置 )

    文章目录 I . JNI 线程创建 II . 线程执行函数 III . 线程方法获取 Java 对象 IV . 线程方法获取 JNIEnv V . JNI 线程 完整代码示例 I . JNI 线程创建 ...

  7. 【C++ 语言】线程 ( 线程创建方法 | 线程标识符 | 线程属性 | 线程属性初始化 | 线程属性销毁 | 分离线程 | 线程调度策略 | 线程优先级 | 线程等待 )

    文章目录 I 线程创建方法 II 线程执行函数 III 线程标识符 IV 线程属性 V 线程属性 1 ( 分离线程 | 非分离线程 ) VI 线程属性 2 ( 线程调度策略 ) VII 线程属性 3 ...

  8. java并发编程实践 part 01 --gt; 线程创建方式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_26654727/article/details/78013989 最近在尝试重新复习一段关于多 ...

  9. windows下线程创建

    windows下线程创建: CreateThread()函数是Windows提供的API接口 1.HANDLE WINAPI CreateThread( LPSECURITY_ATTRIBUTESlp ...

  10. Qt中子线程创建运行时候出现QObject: Cannot create children for a parent that is in a different thread

    这个主要是由于在子线程中创建了父线程的类 比如所我在这里创建指针时候传入了this指针,那么主线程运行run函数时候,相当于传入了主线程的this指针,那么这样就在在子线程创建了主线程的对象,所以就会 ...

最新文章

  1. 在markdown里面插入特殊的符号
  2. 高性能Cordova App开发学习笔记
  3. 【译】What do machine learning practitioners actually do?
  4. 枚举实现单例singleton
  5. asp.net(c#)网页跳转七种方法小结
  6. Java案例:Karel学习Java
  7. 如何设置xshell代理?
  8. Nagios 监控redis
  9. 微处理器OpenRisc、SPARC、RISC-V架构
  10. 【sklearn第六讲】特征提取(下)
  11. ElementUI之el-input输入不进去解决办法
  12. JPEG图像格式解析
  13. 在EntityFramework中使用 nock的方法。
  14. 关于js表格固定列实现
  15. Flink MiniBatch的作用
  16. ZOJ-3380 Patchouli's Spell Cards(概率DP大数)
  17. Linux之必备软件安装(搜狗输入法、qq等)
  18. 【记录贴】IPP3. Convert a Fahrenheit temperature to Celsius and Kelvin.
  19. 什么是 Merkle Pollard
  20. 椭圆 —— 从理论推导到最小二乘法拟合

热门文章

  1. java File类笔记
  2. 产品设计技术公开-一种扼杀对手的方式
  3. 医疗信息化、医学、医院管理、医疗器械资料下载
  4. 艾伟_转载:.NET设计模式:观察者模式(Observer Pattern)
  5. 关于log4net使用中遇到的错误
  6. c语言 sizeof length,size()、length ()和sizeof()的区别
  7. logo语言linux,用 screenfetch 和 linux_logo 显示带有酷炫 Linux 标志的基本硬件信息
  8. 控件无法安装,windows已经阻止此软件因为无法验证发行者
  9. 语义分割常用loss介绍——及pytorch实现
  10. eSpeak: Linux 文本转语音工具