- 浏览: 198379 次
- 性别:
- 来自: 上海
文章分类
最新评论
Thread的实现
1.extend Thread,then overrides run method()
然后,下列代码会创建并启动一个线程:
2.implements Runnable then implements run method()
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起来
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起来
发表评论
-
Java 5 并发学习(转)
2012-06-26 14:38 863Java 5 并发学习 在Java5之后,并发线程这块发生 ... -
WeakHashMap和HashMap的区别
2012-02-24 13:42 845http://mzlly999.iteye.com/blog/ ... -
volatile 的高级模式
2012-02-22 13:07 736前面几节介绍的模式涵盖了大部分的基本用例,在这些模式中使用 v ... -
The "Double-Checked Locking is Broken" Declaration
2012-02-22 10:34 961http://www.cs.umd.edu/~pugh/jav ... -
Log4j配置文件详细说明[转]
2012-02-14 10:48 1346属性文件Properties properties属性文件 ... -
Log4j的配置文件
2012-02-14 10:42 817Log4j支持两种配置文件格式,一种是java属性文件(键—值 ... -
单例模式的俩种方式
2012-01-04 14:09 937等等 单例模式的俩种方式: 饿汉式 class Singlet ... -
Mysql连接数据库:PreparedStatement.addBatch()方法
2011-12-23 08:43 58211.Eclipse连接MySQL数据库 mysql>C ... -
java中ArrayList 、LinkList区别
2011-12-21 15:30 1172java中ArrayList 、LinkList、List区别 ... -
Thread的实现
2011-12-21 14:25 1208Making a Thread A thread in Jav ... -
Date4j,一个简约的日期处理类库
2011-12-14 10:13 849Java本身的日期类在JDK1.0版本之后就再也没有更新过,同 ... -
How to use Log4j
2011-09-29 13:57 8131. LogManager.getInstance().get ... -
重写hashCode和equals方法(转)
2011-09-27 09:58 1136如果你的对象想散列存 ... -
学习Enum转
2011-09-22 14:11 8761. 关于 Java Enum: 学过 C/C++ 等 ... -
PO BO VO DTO POJO DAO概念及其作用(转)
2011-09-20 09:49 665J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨 ... -
Adapter模式(转)
2011-08-17 15:48 890[b]GOF《设计模式》一书对Adapter模式是这样描述的: ... -
JVM常见配置汇总
2011-08-15 14:56 1905从这个图中可以看到, ... -
Abstract or Interface
2011-08-11 15:02 729详解java中的抽象类和接 ... -
HashMap HashTable TreeMap
2011-08-11 13:45 966Map中我们通过对象来对对象进行索引,用来索引的对象叫做key ... -
多线程死锁问题(转)
2011-08-10 19:42 586前天俺们谈到了加锁,但是在使用加锁的同时又会带来一个问题,就是 ...
相关推荐
在本实例"JAVA100例之实例60 继承Thread实现多线程"中,我们将探讨如何通过继承Java内置的`Thread`类来创建并运行多个线程。 首先,让我们理解什么是线程。线程是程序中的执行流,每个线程都有自己的程序计数器、栈...
继承Thread类: 1必须重写run 方法:里面放置的实际的线程体 2 启动线程: 3创建Thread对象 4调用Thread对象的start 方法启动线程
传统的多线程实现通常涉及重写`Runnable`接口的`run`方法或直接继承`Thread`类并覆盖`run`方法。然而,还有一种更高级的多线程技术,即使用`MoveToThread`函数,它可以提供更灵活且高效的方式来管理和运行线程。本文...
在本项目中,开发者利用了实时操作系统(RTOS)RT-Thread来实现两款经典小游戏——贪吃蛇和俄罗斯方块。RT-Thread是一个轻量级、高效且可扩展的开源RTOS,广泛应用于嵌入式系统中,尤其适用于资源有限的微控制器如...
应用 RT-Thread 实现蜂鸣器播放器简介这是一个应用 RT-Thread 实现蜂鸣器播放器的教程,共包含 5 节的内容,介绍了由浅入深,一步步实现一个蜂鸣器播放器的过程。此播放器支持 歌曲列表、上一曲、下一曲、暂停/播放...
毕设当初做的一个用QT实现的C/S简单多线程服务器。使用moveToThread实现多线程,同时保留句柄,分离业务操作,涉及MYSQL通讯处理,适合新手练手。
JavaFX + SQLite + Thread实现多操作系统下的文件搜索工具源码.zip
在基于RT-Thread操作系统开发的绘本故事机项目中,利用了RT-Thread提供的多种功能特性,如线程管理、信号量、消息队列和邮箱、内存管理、定时器以及设备管理等,以实现一个具有音视频播放功能的智能故事机。...
本篇文章将深入探讨C语言和Java语言中的线程实现,以及如何在用户级别进行线程调度。 首先,我们来了解线程的基本概念。线程是操作系统分配CPU时间的基本单位,每个线程都有自己的程序计数器、栈、局部变量等,但...
标题"rtthread F103C8 按键消抖程序"表明我们要讨论的是如何在RT-Thread实时操作系统环境下,为STM32F103C8的按键实现消抖功能。本文将深入探讨这个主题,解释按键消抖的原理,介绍RT-Thread的操作系统特性,并解析...
然而,如果你不希望依赖于MFC库,或者想要一个更简洁的线程实现,可以创建自己的线程类,如题目中提到的`CThread`。这里我们将深入探讨`CThread`类的实现以及多线程编程的关键概念。 首先,`CThread`类通常会包含...
工程源码适合嵌入式软件初学者了解基于STM32和RT-Thread实现网络通讯、Modbus-TCP协议的方法,也包含了I2C总线、eeprom设备读写的相关操作,以及finsh组件函数添加方法。 资料中包含开发板原理图。
继承Thread类 1 实现Runable接口 2 继承Thread类: 3 必须重写run 方法:里面放置的实际的线程体 4 启动线程: 5 创建Thread对象 6 调用Thread对象的start 方法启动线程 7 在子类中定义static静态变量实现资源共享
这是实验一中thread 文档,通过8个测试,是timer总的.希望对大家有帮助。
“Libraries”目录可能包含了rt-thread所依赖的第三方库文件,这些库可能包含了数学运算、加密算法、图形界面等通用功能,以支持rt-thread实现更复杂的应用。 总的来说,rtthread_simulator_v0.1.0是一个集成了rt-...
1. **实时性**:RTThread 实现了抢占式调度,可以确保关键任务的及时响应。 2. **微内核设计**:基础内核小而精,只包含最基本的任务调度、内存管理和中断处理,提供高效运行环境。 3. **组件丰富**:包含TCP/IP网络...
### Python继承threading.Thread实现有返回值的子类实例 在Python中,多线程编程是一种常见的并发处理技术,能够有效提升程序的执行效率。`threading`模块是Python的标准库之一,它提供了创建和管理线程的功能。...
RT-Thread提供了丰富的中间件,如网络栈(TCP/IP协议栈)、文件系统、图形用户界面(GUI)、蓝牙栈、物联网协议栈等,这些中间件使得开发者可以轻松实现复杂的功能,如网络通信、本地存储和人机交互。 6. **开发...
RT-Thread实现的信号量支持多种操作,比如等待和信号操作,可用于解决多个线程之间的资源竞争问题,保证机器人系统中任务的有序执行。 3. 消息队列和邮箱:这些通信机制允许线程间或线程与内核之间的异步数据交换。...
通过以上步骤,开发者可以在NXP i.MX RT1052上有效地利用RT-Thread实现定时器功能,提高系统的实时性和效率。提供的资源代码应包含了具体的驱动实现和示例应用,便于理解和参考。在实际操作中,结合具体的项目需求和...