多线程——继承Thread类别
详细java此前使用多线程,让我们来看看下面的问题。
什么是多线程
简单的理解成:cpu“同一时候”运行多个任务,这就是多线程。
(究其本质,当涉及到进程和线程的概念。上面的说法也不太合适,只是。简单的理解成这样也不为过。)
多线程攻克了什么问题?
多线程通过充分利用cpu实现了提高计算机效率的问题。
使用了多线程,效率就一定会提高?
答案是否定的。在适当的情况下使用多线程,确实能提高效率,可是假设滥用多线程,有时候效率反而会减少。那么,什么情况下使用多线程会提高效率就成为了一个至关重要的问题。想真正弄清楚这个问题。就必需要明确操作系统中cpu的调度原理。还有,最好要清楚你使用的计算机有几个cpu。每一个cpu是几核的。这在推断启用多少个线程时起着至关关键的数据。
多线程不是万能的,可是没有多线程是万万不能的。
所以,多线程是我们须要掌握的知识。可是,知道什么时候用多线程远比知道怎样用多线程更为重要。这也就是“不怕不知道,就怕不知道”的一个实例化对象。
以下就让我们看看java中是怎样使用多线程的。
java中创建线程有三种方法
1、直接继承Thread类。并重写它的run方法
2、实现Runnable接口。并实现它的run方法
3、实现Callable接口,并实现它的call方法
这篇博客,我们以一个实例来介绍一下第一种方法——继承Thread类。
有一个字符串数组,如今我们要使用多线程分别打印出数组中各字符串的长度。
详细代码例如以下:
<span style="font-family:Microsoft YaHei;font-size:18px;">public class Test extends Thread{ private String word; public Test(String word){
this.word = word;
} @Override
public void run() {
System.out.println(Thread.currentThread().getName() + ": 開始运行!" );
try {
//如果处理须要2秒
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + ": 正在处理!" );
System.out.println(Thread.currentThread().getName() + ": " + word + "长度为:" + word.length());
} public static void main(String [] args ) {
String [] words = {"first","second","world","thread"};
for(String word : words){
Test test = new Test(word);
test.start();
}
}
}</span>
运行结果例如以下:
<span style="font-family:Microsoft YaHei;font-size:18px;">Thread-1: 開始运行! Thread-2: 開始运行! Thread-3: 開始运行。
Thread-0: 開始运行! Thread-2: 正在处理!
Thread-2: world长度为:5
Thread-1: 正在处理。
Thread-1: second长度为:6
Thread-3: 正在处理。
Thread-0: 正在处理!
Thread-3: thread长度为:6
Thread-0: first长度为:5</span>
使用这样的方式实现多线程,简单、便捷,可是它要求使用类继承Thread类。而java中同一个类不能同一时候继承多个类。这就给操作带来了不便。同一时候。这样的方式也不能达到数据共享的目的。至于怎样实现数据共享,待下篇博客介绍。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
多线程——继承Thread类别的更多相关文章
- (转)多线程——继承Thread 类和实现Runnable 接口的区别
java中我们想要实现多线程常用的有两种方法,继承Thread 类和实现Runnable 接口,有经验的程序员都会选择实现Runnable接口 ,其主要原因有以下两点: 首先,java只能单继承,因此 ...
- Java中实现多线程继承Thread类与实现Runnable接口的区别
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 在实际应用中, ...
- 多线程——继承Thread类实现一个多线程
继承Thread类实现一个多线程 Thread类部分源码: package java.lang; //该类实现了Runnable接口 public class Thread implements Ru ...
- java多线程技能-使用多线程-继承Thread类
/* 使用多线程可通过继承Thread类或实现Runnable接口. Thread和Runnable的关系:public class Thread implements Runnable. 使用thr ...
- 多线程——继承Thread 类和实现Runnable 接口的区别
java中我们想要实现多线程常用的有两种方法,继承Thread 类和实现Runnable 接口,有经验的程序员都会选择实现Runnable接口 ,其主要原因有以下两点: 首先,java只能单继承,因此 ...
- java 多线程 继承Thread和实现Runnable的区别
1)继承Thread: public class ThreadTest extends Thread { private int count; private String name; public ...
- 0125 多线程 继承Thread 练习
//定义一个继承Thread类的类,并覆盖run()方法,在run()方法中每隔100毫秒打印一句话public class Csh extends Thread{ public void run() ...
- 多线程实现的方式一继承Thread
实现方法一:继承Thread类 package thread; /** * @function 多线程继承Thread类 * @author hj */ public class Threads ex ...
- Java通过继承thread类与实现Runnable接口实现多线程的区别
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类 一.通过继承T ...
随机推荐
- hdu 1166 敌兵布阵 线段树 点更新
// hdu 1166 敌兵布阵 线段树 点更新 // // 这道题裸的线段树的点更新,直接写就能够了 // // 一直以来想要进线段树的坑,结果一直没有跳进去,今天算是跳进去吧, // 尽管十分简单 ...
- teamview huawei
https://apkpure.com/add-on-huawei/com.teamviewer.quicksupport.addon.huawei 4.0/5 ( 5 Discussions ) ...
- 在ArcEngine中使用Geoprocessing工具-执行工具
转自原文在ArcEngine中使用Geoprocessing工具-执行工具 来解析一下Geoprocessor类的Execute方法,他有两种重载,Execute(IGPProcess, ITrack ...
- Android JNI编程(四)——C语言多级指针、数组取值、从控制台输入数组
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:前面我们介绍了一级指针的相关概念和用发,今天我们就来说一说多级指针. 1 ...
- css样式继承规则详解
css样式继承规则详解 一.总结 一句话总结:继承而发生样式冲突时,最近祖先获胜(最近原则). 1.继承中哪些样式不会被继承? 多数边框类属性,比如象Padding(补白),Margin(边界),背景 ...
- css选择器指定元素中第几个子元素
tr td:nth-child(2){ background-color:gray; } 就是tr当中的td的第二个td的属性 tr:nth-child(2n+0){ background-color ...
- TOP 10 ONLINE COMPILER
Top 10 Online Compilers +1338 Tweet Share106 Share Pin 444 Shares Online compilers are one type of t ...
- 使用蒲公英来发布iOS内侧版本
1.生成ipa包 这里不介绍正规的打包方式(选择真机调试-编译成功以后-工具product-archive-....) 下面介绍快速打包方式: 1)选择真机调试-编译成功以后右击下图.app文件,选择 ...
- 浅谈CAS(Compare and Swap) 原理
浅谈CAS原理java并发编程也研究了一段时间了,对CAS的原理总是不太理解,今天再研究了一下,记录一些自己的理解. 说到CAS,再java中的某些情况下,甚至jdk1.5以后的大多数情况,并发 ...
- webcollector + selenium 爬取空间相册图片
package cn.hb.util; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWr ...