`

Thread的实现

    博客分类:
  • JAVA
 
阅读更多
Thread的实现

1.extend Thread,then overrides run method()

 class PrimeThread extends Thread {
         long minPrime;
         PrimeThread(long minPrime) {
             this.minPrime = minPrime;
         }
 
         public void run() {
             // compute primes larger than minPrime
              . . .
         }
     }


然后,下列代码会创建并启动一个线程:

     PrimeThread p = new PrimeThread(143);
     p.start();


2.implements Runnable then implements run method()
  class PrimeRun implements Runnable {
         long minPrime;
         PrimeRun(long minPrime) {
             this.minPrime = minPrime;
         }
 
         public void run() {
             // compute primes larger than minPrime
              . . .
         }
     }


PrimeRun p = new PrimeRun(143);
new Thread(p).start();


Thread是系统给你的资源,有了Thread你才有从CPU那里得到可执行时间片的权力, Thread并不认识你的程序,不知道有test 这样的类,因为编序员有千千万,每个人命名都不一样,想要做的事都不一样,
所以 Thread只认识一个! 那就是Runnable 。 Thread认识Runnable 并且知道Runnable 里面有一个run方法. 一旦调用Thread的start方法,Runnable 方法里的run就会被Thread自动运行。

所以,当我们把我们的类继承(这里应该叫实现接口)自Runnable 的时候,我们的程序就是属于Runnable 一个类型的了。 虽然是Runnable 的子类,但人家认识你爸爸,当然也知道了你。
Thread可以不管你内部有什么情况,他只管你有run()方法就行了,他就调start让你去运行run 所以我们在run里面写点东西,这样就可以让系统运行我们想要做的代码了。

是不是很通俗很易懂呢?
所以要运行线程的步骤是,
1。生成我们自己的类对象
2。从系统那里得到Thread
3。让Threa调我们的类对象,让其start起来

分享到:
评论

相关推荐

    JAVA100例之实例60 继承Thread实现多线程

    在本实例"JAVA100例之实例60 继承Thread实现多线程"中,我们将探讨如何通过继承Java内置的`Thread`类来创建并运行多个线程。 首先,让我们理解什么是线程。线程是程序中的执行流,每个线程都有自己的程序计数器、栈...

    Thread实现多线程

    继承Thread类: 1必须重写run 方法:里面放置的实际的线程体 2 启动线程: 3创建Thread对象 4调用Thread对象的start 方法启动线程

    利用MoveToThread实现多线程编写

    传统的多线程实现通常涉及重写`Runnable`接口的`run`方法或直接继承`Thread`类并覆盖`run`方法。然而,还有一种更高级的多线程技术,即使用`MoveToThread`函数,它可以提供更灵活且高效的方式来管理和运行线程。本文...

    基于RT-Thread实现的小游戏(贪吃蛇、俄罗斯方块)

    在本项目中,开发者利用了实时操作系统(RTOS)RT-Thread来实现两款经典小游戏——贪吃蛇和俄罗斯方块。RT-Thread是一个轻量级、高效且可扩展的开源RTOS,广泛应用于嵌入式系统中,尤其适用于资源有限的微控制器如...

    RTT-BeepPlayer:应用 RT-Thread 实现的蜂鸣器播放器

    应用 RT-Thread 实现蜂鸣器播放器简介这是一个应用 RT-Thread 实现蜂鸣器播放器的教程,共包含 5 节的内容,介绍了由浅入深,一步步实现一个蜂鸣器播放器的过程。此播放器支持 歌曲列表、上一曲、下一曲、暂停/播放...

    一个用QT实现的C/S简单多线程服务器 使用moveToThread实现多线程,同时保留句柄,分离业务操作,涉及MYSQL通讯

    毕设当初做的一个用QT实现的C/S简单多线程服务器。使用moveToThread实现多线程,同时保留句柄,分离业务操作,涉及MYSQL通讯处理,适合新手练手。

    JavaFX + SQLite + Thread实现多操作系统下的文件搜索工具源码.zip

    JavaFX + SQLite + Thread实现多操作系统下的文件搜索工具源码.zip

    合作伙伴-基于RT-Thread 实现的绘本故事机实例.pdf

    在基于RT-Thread操作系统开发的绘本故事机项目中,利用了RT-Thread提供的多种功能特性,如线程管理、信号量、消息队列和邮箱、内存管理、定时器以及设备管理等,以实现一个具有音视频播放功能的智能故事机。...

    理解多线程,写一个多线程应用程序,要求能在用户级实现线程的调度,如启动、挂起、恢复、停止,的C thread、java thread实现。

    本篇文章将深入探讨C语言和Java语言中的线程实现,以及如何在用户级别进行线程调度。 首先,我们来了解线程的基本概念。线程是操作系统分配CPU时间的基本单位,每个线程都有自己的程序计数器、栈、局部变量等,但...

    CThread实现

    然而,如果你不希望依赖于MFC库,或者想要一个更简洁的线程实现,可以创建自己的线程类,如题目中提到的`CThread`。这里我们将深入探讨`CThread`类的实现以及多线程编程的关键概念。 首先,`CThread`类通常会包含...

    STM32+RTThread+lwip实现Modbus-TCP工程源码

    工程源码适合嵌入式软件初学者了解基于STM32和RT-Thread实现网络通讯、Modbus-TCP协议的方法,也包含了I2C总线、eeprom设备读写的相关操作,以及finsh组件函数添加方法。 资料中包含开发板原理图。

    rtthread F103C8 按键消抖程序

    标题"rtthread F103C8 按键消抖程序"表明我们要讨论的是如何在RT-Thread实时操作系统环境下,为STM32F103C8的按键实现消抖功能。本文将深入探讨这个主题,解释按键消抖的原理,介绍RT-Thread的操作系统特性,并解析...

    Thread实现两个线程打印0-10

    继承Thread类 1 实现Runable接口 2 继承Thread类: 3 必须重写run 方法:里面放置的实际的线程体 4 启动线程: 5 创建Thread对象 6 调用Thread对象的start 方法启动线程 7 在子类中定义static静态变量实现资源共享

    pintos project1中thread实现

    这是实验一中thread 文档,通过8个测试,是timer总的.希望对大家有帮助。

    rtthread_simulator_v0.1.0.7z

    “Libraries”目录可能包含了rt-thread所依赖的第三方库文件,这些库可能包含了数学运算、加密算法、图形界面等通用功能,以支持rt-thread实现更复杂的应用。 总的来说,rtthread_simulator_v0.1.0是一个集成了rt-...

    RTTHREAD.rar

    1. **实时性**:RTThread 实现了抢占式调度,可以确保关键任务的及时响应。 2. **微内核设计**:基础内核小而精,只包含最基本的任务调度、内存管理和中断处理,提供高效运行环境。 3. **组件丰富**:包含TCP/IP网络...

    python继承threading.Thread实现有返回值的子类实例

    ### Python继承threading.Thread实现有返回值的子类实例 在Python中,多线程编程是一种常见的并发处理技术,能够有效提升程序的执行效率。`threading`模块是Python的标准库之一,它提供了创建和管理线程的功能。...

    rtthread-rt-thread-master11.zip

    RT-Thread提供了丰富的中间件,如网络栈(TCP/IP协议栈)、文件系统、图形用户界面(GUI)、蓝牙栈、物联网协议栈等,这些中间件使得开发者可以轻松实现复杂的功能,如网络通信、本地存储和人机交互。 6. **开发...

    开发者-RT-Thread在服务机器人领域的探索与应用.pdf

    RT-Thread实现的信号量支持多种操作,比如等待和信号操作,可用于解决多个线程之间的资源竞争问题,保证机器人系统中任务的有序执行。 3. 消息队列和邮箱:这些通信机制允许线程间或线程与内核之间的异步数据交换。...

    NXP i.MX RT1052 RT-Thread实战:定时器的实现【基于Cortex-M7】

    通过以上步骤,开发者可以在NXP i.MX RT1052上有效地利用RT-Thread实现定时器功能,提高系统的实时性和效率。提供的资源代码应包含了具体的驱动实现和示例应用,便于理解和参考。在实际操作中,结合具体的项目需求和...

Global site tag (gtag.js) - Google Analytics