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. 如何减缓vm中慢插入的次数

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 偶然发现vm-storage的监控里有这样一个指标:vm_ ...

  2. easyui 使用不同的url以获取不同数据源信息

    转载 https://www.bbsmax.com/A/kjdw1x06JN/ https://blog.csdn.net/lixinhui199/article/details/50724081 参 ...

  3. 微信小程序-Storage

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

  4. 6.4 Windows驱动开发:内核枚举DpcTimer定时器

    在操作系统内核中,DPC(Deferred Procedure Call)是一种延迟执行的过程调用机制,用于在中断服务例程(ISR)的上下文之外执行一些工作.DPC定时器是基于DPC机制的一种定时执行 ...

  5. Java多线程-ThreadLocal(六)

    为了提高CPU的利用率,工程师们创造了多线程.但是线程们说:要有光!(为了减少线程创建(T1启动)和销毁(T3切换)的时间),于是工程师们又接着创造了线程池ThreadPool.就这样就可以了吗?-- ...

  6. P9989 [Ynoi Easy Round 2023] TEST_69 题解

    题目链接: [Ynoi Easy Round 2023] TEST_69 首先GCD有比较良好的一些性质.我们观察到一次 \(GCD(a_i,x)\) 操作,会有以下两种变化. 如果 \(x \bmo ...

  7. JS Leetcode 374. 猜数字大小 题解分析

    壹 ❀ 引 本题来自LeetCode 374. 猜数字大小,题目难度简单,与昨天的题目一样,也是一道标准二分法的题目,不知道是不是端午节的缘故,这两天的题目都比较简单,题目描述如下: 猜数字游戏的规则 ...

  8. NC50439 tokitsukaze and Soldier

    题目链接 题目 题目描述 在一个游戏中,tokitsukaze需要在n个士兵中选出一些士兵组成一个团去打副本. 第i个士兵的战力为v[i],团的战力是团内所有士兵的战力之和. 但是这些士兵有特殊的要求 ...

  9. NC16590 [NOIP2010]乌龟棋

    题目链接 题目 题目描述 ​ 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. ​ 乌龟棋的棋盘是一行N 个格子,每个格子上一个分数(非负整数).棋盘第1 格是唯一的起点,第N 格是终点,游戏要求玩家 ...

  10. java 注解结合 spring aop 实现日志traceId唯一标识

    MDC 的必要性 日志框架 日志框架成熟的也比较多: slf4j log4j logback log4j2 我们没有必要重复造轮子,一般是建议和 slf4j 进行整合,便于后期替换为其他框架. 日志的 ...