*** 一.创建线程

1.继承Thread类

定义类继承Thread, 重写run()方法, 将线程中要执行的代码写在run()方法中

创建该类对象, 调用start()方法就可以开启一条新线程, 新线程中自动指定run()方法

public class ThreadDemo1 {

public static void main(String[] args) {

// 3.创建线程对象

MyThread mt = new MyThread();

// 4.启动一条新线程, 新线程上自动执行run()方法

mt.start();

// 5.主线程循环打印

for (int i = 0; i < 100; i++)

System.out.println("A " + i);

}

}

// 1.定义类继承Thread

class MyThread extends Thread {

// 2.重写run方法

public void run() {

for (int i = 0; i < 100; i++)

System.out.println("B " + i);

}

}

2.实现Runnable接口

定义类实现Runnable接口, 重写run()方法, 将线程中要执行的代码写在run()方法中

创建该类对象, 创建Thread类对象, 将Runnable对象传入Thread的构造函数中

调用Thread对象的start()方法就可以开启一条新线程, 新线程中执行Runnable的run()方法

public class ThreadDemo2 {

public static void main(String[] args) {

// 3.创建Runnable对象

MyRunnable mr = new MyRunnable();

// 4.创建Thread对象, 在构造函数中传入Runnable对象

Thread t = new Thread(mr);

// 5.调用start()开启新线程, 新线程自动执行Runnable的run()方法

t.start();

// 6.主线程循环打印

for (int i = 0; i < 100; i++)

System.out.println("A " + i);

}

}

// 1.定义类, 实现Runnable接口

class MyRunnable implements Runnable {

// 2.实现run()方法

public void run(){

for (int i = 0; i < 100; i++)

System.out.println("B " + i);

}

}

java中创建两种线程的方式_java中创建线程的两种方式有什么区别?相关推荐

  1. java中两种遍历集合的方式_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  2. java中保留两位小数的方法_Java中保留两位小数的四种方法实现实例

    在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法. package CodeJava_Leet; import java.mat ...

  3. java两个线程同时运行_java如何几乎同时结束两个线程

    今天写了一个让文字何背景音乐几乎同时开始几乎同时结束的小程序,但是遇到了一个问题,就是如何同时结束两个线程的问题 我想到的第一种方式,因为只有两个线程可以直接终止;System.exit(0); 第二 ...

  4. 多线程的实现方式_Java中线程的状态及多线程的实现方式

    线程的状态 线程状态图: 说明: 线程共包括以下5种状态.1. 新建状态(New) : 线程对象被创建后,就进入了新建状态.例如,Thread thread = new Thread().2. 就绪状 ...

  5. java怎样获取线程的进度_java中的多线程——进度2

    多线程总结: 1,进程和线程的概念. |--进程:是一块包含了某些资源的内存区域.操作系统利用进程把它的工作划分为一些功能单元: 最小的内存单元: 是具有一定独立功能的程序关于某个数据集合上的一次运行 ...

  6. java 线程类 通信_Java 中利用管道实现线程间的通讯

    在Java 语言中,提供了各种各样的输入输出流(stream),使我们能够很方便的对数据进行操作,其中,管道(pipe)流是一种特殊的流,用于在不同线程(threads)间直接传送数据.一个线程发送数 ...

  7. java i 线程不安全_java中的++i是线程安全的吗?

    java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...

  8. java8 创建list方式_Java 8 创建 Stream 的 10 种方式,我保证你受益无穷!

    今天来分享下在 Java 8 中创建 Stream 的 10 种方式,我就整理了 10 种,其实还有更多,仅供大家参考学习下. 1.Stream.of 可变参数 Stream<String> ...

  9. java中实现线程的方法_Java中实现线程的方法

    Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 第一种:继承Thread类 new Thread(){}.start();这表示调 ...

最新文章

  1. 安装AverMedia UltraA 实时游戏录屏转播模块
  2. 2015-05-26
  3. android .so文件详解以及兼容性
  4. Dynpro F4的实现测试
  5. Hexo+码云+git快速搭建免费的静态Blog
  6. db,dbms,dba_DBMS中的数据库管理员(DBA)
  7. 一文初探Tensorflow高级API使用(初学者篇)
  8. 2012,新的一年,新的开始
  9. 链式二叉树的C语言代码
  10. js 串口通信mscomm接收undefined_串口通信帧的同步方法(识别一帧数据的起始结束)42...
  11. linux系统优化步骤,Linux系统优化的步骤有哪些
  12. 算法在岗3年小结:学习成长篇
  13. JavaScript之语句
  14. 关于EmmyLua插件创建Lua脚本Require失败的问题
  15. 窝囊同事做测试三年未涨工资,被开当天,bat全部高管门口迎接。
  16. My Sixth-First - 解数独 - By Nicolas
  17. GeoServer发布OSM地图
  18. 网页中HTML代码如何实现字体删除线效果
  19. C#学习笔记004——生成(创建)文本文件
  20. cocos2d-x3.x 游戏手柄

热门文章

  1. python 比较文件夹或列表异同
  2. python KeyError: 4
  3. python随机补边缘border
  4. Numpy中的transpose
  5. SSH隧道 / SSH穿透
  6. 计算机安全模式无法进入安全模式,如何解决无法在Windows 10中进入安全模式的问题...
  7. linux判断网卡是否挂载,检查网卡是否加载 - Linux服务器网卡驱动安装及故障排除_服务器应用_Linux公社-Linux系统门户网站...
  8. centos下使用mysql,centos下使用mysql的一些问题和解决方法
  9. led透明屏生产厂家_LED透明屏与LED玻璃屏有何区别
  10. java浮点数误差_浮点数运算的误差