1 package com.bytezero.threadexer;
2
3 /**
4 *
5 * 创建多线程的方式二:实现 Runnable接口
6 * 1.创建一个实现了Runnable接口类
7 * 2.实现类去实现Runnable中的抽象方法:run()
8 * 3.创建实现类的对象
9 * 4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
10 * 5.通过Thread类的对象调用start()
11 *
12 * 比较创建线程的两种方式:
13 * 开发中 优先选择实现Runnable接口的方式
14 * 原因:1.实现的方式没有类的单继承的局限性
15 * 2.实现的方式更适合来处理多个线程有共享数据的情况
16 *
17 * 联系:public class Thread implements Runnable
18 * 相同点:两种方式都需要重写 run(),将线程要执行的逻辑声明在run()中
19 *
20 *
21 *
22 * @author Bytezero1·zhenglei! Email:420498246@qq.com
23 * create 2021-10-15 17:21
24 */
25
26 //1.创建一个实现了Runnable接口类
27 class MThread implements Runnable {
28 //2.实现类去实现Runnable中的抽象方法:run()
29
30 @Override
31 public void run() {
32 for (int i = 0; i < 100; i++) {
33 if( i % 2==0){
34 System.out.println(Thread.currentThread().getName()+":"+i);
35 }
36 }
37 }
38 }
39
40 public class RunnableTest {
41 public static void main(String[] args) {
42 //3.创建实现类的对象
43 MThread mThread = new MThread();
44
45 // 4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
46 Thread t1 = new Thread(mThread);
47
48
49 // * 5.通过Thread类的对象调用start():①启动线程 ②调用当前线程的run()-->调用了 R
50 //Runnable类型的target的run()
51 t1.setName("线程一");
52 t1.start();
53
54 //再启动线程1遍历100以内的偶数
55 Thread t2 = new Thread(mThread);
56 t2.setName("线程二");
57 t2.start();
58 }
59 }

...............

Java 多线程------创建多线程的方式二:实现 Runnable接口 + 比较创建线程的两种方式:的更多相关文章

  1. Java之多线程方式二(实现Runnable接口)

    /** * 创建多线程的方式二:实现Runnable接口 * 1. 创建一个实现了Runnable接口的类 * 2. 实现类去实现Runnable中的抽象方法:run() * 3. 创建实现类的对象 ...

  2. 1.java多线程_实现线程的两种方式

    1.java多线程基本知识 1.1.进程介绍 不管是我们开发的应用程序,还是我们运行的其他的应用程序,都需要先把程序安装在本地的硬盘上.然后找到这个程序的启动文件, 启动程序的时候,其实是电脑把当前的 ...

  3. 【java并发】传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  4. Java并发基础01. 传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  5. python 并发编程 多线程 开启线程的两种方式

    一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性 二 开启线程的两种方式 第一种 每造一个进程,默认有一个线程,就是 ...

  6. 创建线程的两种方式比较Thread VS Runnable

    1.首先来说说创建线程的两种方式 一种方式是继承Thread类,并重写run()方法 public class MyThread extends Thread{ @Override public vo ...

  7. 网络编程:多进程实现TCP服务端并发、互斥锁代码实操、线程理论、创建线程的两种方式、线程的诸多特性、GIL全局解释器锁、验证GIL的存在

    目录 多进程实现TCP服务端并发 互斥锁代码实操 线程理论 创建线程的两种方式 线程的诸多特性 GIL全局解释器锁 验证GIL的存在 GIL与普通互斥锁 python多线程是否有用 死锁现象 多进程实 ...

  8. Java新建线程的两种方式

    Java新建线程有两种方式,一种是通过继承Thread类,一种是实现Runnable接口,下面是新建线程的两种方式. 我们假设有个竞赛,有一个选手A做俯卧撑,一个选手B做仰卧起坐.分别为两个线程: p ...

  9. Python创建进程、线程的两种方式

    代码创建进程和线程的两种方式 """ 定心丸:Python创建进程和线程的方式基本都是一致的,包括其中的调用方法等,学会一个 另一个自然也就会了. "" ...

  10. Python 35 线程(1)线程理论、开启线程的两种方式

    一:线程理论 1 什么是线程 进程其实一个资源单位,而进程内的线程才是cpu上的执行单位 线程其实指的就是代码的执行过程2 为何要用线程   线程vs进程     1. 同一进程下的多个线程共享该进程 ...

随机推荐

  1. Docker部署Jekyll

    1. 起因 前两天终于下单买了个域名,10年的使用期限.既然有了域名,那自己的博客就可以搞起来了. 现在博客的记录用的是Jekyll+Github Pages,所以决定之后自己的博客网站也采用Jeky ...

  2. TienChin 活动管理-工程创建

    工程模块的创建,与之前创建渠道管理一样的,所以这里就不贴图带着大家一起动手进行了,表结构我已经给到大家了,这里我只贴一下代码生成器的代码部分即可. @Test void generateActivit ...

  3. 微信小程序-Storage

    官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html ?> Sto ...

  4. MySQL【三】---数据库查询详细教程{分页、连接查询、自关联、子查询、数据库设计规范}

    1.分页 limit start count limit限制查询出来的数据个数,limit在语句最后 查找两个女性 select * from student where gender=1 limit ...

  5. 14.4 Socket 双向数据通信

    所谓双向数据传输指的是客户端与服务端之间可以无差异的实现数据交互,此类功能实现的核心原理是通过创建CreateThread()函数多线程分别接收和发送数据包,这样一旦套接字被建立则两者都可以异步发送消 ...

  6. 6.1 C/C++ 封装字符串操作

    C/C++语言是一种通用的编程语言,具有高效.灵活和可移植等特点.C语言主要用于系统编程,如操作系统.编译器.数据库等:C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统.图形用户界面 ...

  7. 3.2 DLL注入:远程APC异步注入

    APC(Asynchronous Procedure Call)异步过程调用是一种Windows操作系统的核心机制,它允许在进程上下文中执行用户定义的函数,而无需创建线程或等待OS执行完成.该机制适用 ...

  8. 驱动开发:应用DeviceIoContro开发模板

    内核中执行代码后需要将结果动态显示给应用层的用户,DeviceIoControl 是直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数,如下代码是一个经典的驱动开发模板框架, ...

  9. java在服务器上创建文件(以shell脚本为例)并执行

    java在服务器上创建文件(以shell脚本为例)并执行 1️⃣ 首先写个方法,来在服务器上创建脚本 package com.preciouslove.xinxin_emo.controller; i ...

  10. 使用私有gitlab搭建gitbook持续集成

    目录 环境搭建 1. 安装 Node.js 2. 安装 gitbook 3. 安装 Gitlab Runner 4. 注册Runner gitbook 配置 1. 目录结构 2. 命令行 3. 插件 ...