- 浏览: 211552 次
- 性别:
- 来自: 北京
文章分类
我们都知道实现多线程的两种方式,一种是继承Thread类,另一种是实现runnable接口。并用runnable接口的实现类创建线程。
使用Thread实现类来实现多线程的原因。
Thread是代表线程类,当线程运行时执行的是里面的run方法。然后Thread类中的默认的run方法代码如下
public void run() {
if (target != null) {
target.run();
}
}
其中target表示Thread中一个实现Runnable接口的成员变量类。因此默认情况下,new Thread()出的线程执行的时候不会进行任何操作。因此要想让run方法里面运行我们想要的操作。就通过继承Thread类,然后子类重写run方法就可以了。
使用Runnable实现线程的原因
因为Thread的run方法中判断构造方法中是否传入了Runnable实现,默认情况下会传递null给线程的target成员变量。所以可以通过传递target值,然后Thread的run方法就会调用Runnable的实现类的run方法来执行我们自定义的操作逻辑了
使用Thread实现类来实现多线程的原因。
Thread是代表线程类,当线程运行时执行的是里面的run方法。然后Thread类中的默认的run方法代码如下
public void run() {
if (target != null) {
target.run();
}
}
其中target表示Thread中一个实现Runnable接口的成员变量类。因此默认情况下,new Thread()出的线程执行的时候不会进行任何操作。因此要想让run方法里面运行我们想要的操作。就通过继承Thread类,然后子类重写run方法就可以了。
使用Runnable实现线程的原因
因为Thread的run方法中判断构造方法中是否传入了Runnable实现,默认情况下会传递null给线程的target成员变量。所以可以通过传递target值,然后Thread的run方法就会调用Runnable的实现类的run方法来执行我们自定义的操作逻辑了
发表评论
-
JVM启动时指定-Dfile.encoding="UTF8"的作用
2013-10-17 13:50 2283简单来说就是指定JVM默认的编码方式 java io中很多方法 ... -
java多线程 小记
2012-04-15 14:49 0thread join的方法 http://blog.csdn ... -
浅析多线程
2012-04-08 22:35 0线程组 线程是被 ... -
多线程意外中断处理
2012-04-08 20:54 0本文转自:http://peirenlei.iteye.com ... -
多线程项目学习
2012-04-08 20:35 0线程组的作用: ThreadGroup类中的某些方法,可以对线 ... -
java 静态成员变量的内存分配
2012-04-06 10:28 0静态成员变量是属于类变量,即当JVM加载class文件到虚拟机 ... -
深度克隆与浅克隆
2012-04-05 16:31 1115要想实现某个对象的克隆需要该对象实现java.lang.Clo ... -
修改图片大小并添加水印
2012-03-29 13:47 1264import java.awt.*; import java. ... -
JVM的内存分配
2012-03-16 10:06 0Java里的堆(heap)栈(stack)和方法区(metho ... -
HashMap添加数据的过程
2012-03-14 22:18 7077当添加的元素的key为null ... -
几种classloader的加载范围
2012-02-28 12:43 1310Bootstrap class loader:最顶级的clas ... -
利用正则表达式获取网页中多处重复出现的标签数据
2012-02-21 11:21 2698public static void main(String[ ... -
标准的URLConnection请求
2012-01-13 16:39 0只写了主要的代码 URL url = new URL(urlS ... -
常用的ClassLoader的加载范围
2012-01-13 13:53 1393WebAppClassLoader装载器装作文件的范围: 会加 ... -
ClassLoader.getSystemClassLoader().loadClass()和Class.forName()的区别
2012-01-13 13:08 0class A { static { System.ou ... -
httpClient超时解决办法
2012-01-12 16:47 0DefaultHttpClient: 请求超时 httpcli ... -
项目中的使用技巧小记
2012-01-10 21:11 576实现数据在多线程之间的共享: 因为线程的成员变量是各个该线程实 ... -
ThreadLocal
2012-01-10 08:55 1406ThreadLocal是实现线程范围内的数据共享,即不同线程获 ... -
线程加锁优化
2012-01-08 13:19 0实际上,在某些classes中,这种instance方法的同步 ... -
一个简单的socket编程实例
2011-12-28 10:50 1605转正于http://www.cnblogs.com/linzh ...
相关推荐
1. 写两个线程,一个线程打印1-52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。 学习线程之间的通信协调关系。 2. 使用 runnable 接口实现按两... 使用继承Thread类方式和实现Runnable接口两种方式实现。
在Java中只支持单继承,因此通过继承Thread类创建线程有一定的局限性,这时可以使用另一种方式,即实现Runnable接口来创建线程。通过这种方式需要在Thread(Runnable target)的构造方法中,传递一个实现了Runnable...
在第二种方法中,由于3个Thread对象共同执行一个Runnable对象中的代码,因此可能会造成线程的不安全,比如可能ticket会输出-1(如果我们Syste
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口(csdn)————程
下面小编就为大家带来一篇java实现多线程的两种方式继承Thread类和实现Runnable接口的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java中实现多线程有两种方法:一种是继承Thread类,另一种是实现Runnable接口。
Java中的多线程有三种实现方式: 1.继承Thread类,重写run方法。Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯一方法就是通过Thread类的start方法。 2.实现Runnable接口,并...
主要介绍了java 多线程Thread与runnable的区别的相关资料,java线程有两种方法继承thread类与实现runnable接口,下面就提供实例帮助大家理解,需要的朋友可以参考下
继承Thread类创建线程类;继承Thread类创建线程类;在一个Java程序内启动多条线程;继承Thread类时设置线程的名字;线程的执行方式和优先级 ;线程的执行方式和优先级;线程的执行方式和优先级;设置线程的优先级;设置线程...
实现Runnable接口:创建一个类实现java.lang.Runnable接口,实现run()方法,并将该实现类传递给Thread类的构造函数中。然后创建Thread实例并启动线程。 java class MyRunnable implements Runnable { public void r
这是一道面试题,创建多线程时,使用继承Thread类和实现Runnable接口有哪些区别呢? 一、Thread 先来看看Thread类和其中的start()方法 class Thread implements Runnable{.....} // 可见,Thread类实现了Runnable...
继承Thread类实现多线程: 1. 在Java中负责实现线程功能的类是java.lang.Thread 类。 2. 可以通过创建 Thread的实例来创建新的线程。 3. 每个线程都是通过某个特定的Thread对象所对应的方法run( )来完成其操作的,...
主要内容 线程的概念 线程的生命周期 Java中多线程的编程 继承Thread类与使用Runnable接口 Thread类的主要方法 线程的同步与死锁 动画
继承Thread类构造线程 实现Runnable接口构造线程
多线程的学习的笔记 Thread1:继承Thread类 * Thread2:继承Runnable接口 * * ThreadMethod:一些Thread常见方法 * ThreadTestDome1 练习:创建两个线程 其中一个线程遍历100以内的偶数 另一个遍历一百内奇数 ...
很基础的多线程开发实例,压缩包里包括了实现多线程的两种方式的Demo:继承 Thread 类和实现 runnable 接口,RunnableDemo为生产者与消费者的实例。
线程的创建有两种方式: 继承Thread类和实现Runnable接口。继承类与实现接口都 需要重写 run方法 ,线程需要完成的功能代码放在run 方法中。 线程的状态:新生状态、可运行状态、阻塞状态、死亡状态
线程的创建: 详细讲解线程的创建方式,包括继承 Thread 类和实现 Runnable 接口。演示如何通过这些方式来创建和启动线程。 线程的生命周期: 解释线程的生命周期,包括新建、就绪、运行、阻塞和终止等状态。探讨...
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。 要注意的是Thread类也实现了Runnable接口,因此,从Thread类继承的类的实例也可以作为target传入这个构造方法。可通过这种方法实现多个线程的...
继承Thread类和实现Runnable接口是最基本的方式,但有一个共同的缺点:没有返回值。而Future Task解决了这个问题。Executor是JDK提供的一个多线程框架。 Java8创建一个新的执行线程有两种方法: 1、一种是将一个类...