文档章节

实现java.lang.Runnable接口

郑州尚学堂
 郑州尚学堂
发布于 2017/07/11 14:36
字数 420
阅读 1
收藏 0

 

/**
 *@functon 多线程学习
 *@author 
 *@time 
 */
package com.multithread.runnable;
class Thread2 implements Runnable{
	private String name;

	public Thread2(String name) {
		this.name=name;
	}

	@Override
	public void run() {
		  for (int i = 0; i < 5; i++) {
	            System.out.println(name + "运行  :  " + i);
	            try {
	            	Thread.sleep((int) Math.random() * 10);
	            } catch (InterruptedException e) {
	                e.printStackTrace();
	            }
	        }
		
	}
	
}
public class Main {

	public static void main(String[] args) {
		new Thread(new Thread2("C")).start();
		new Thread(new Thread2("D")).start();
	}

}

 

输出:

C运行  :  0
D运行  :  0
D运行  :  1
C运行  :  1
D运行  :  2
C运行  :  2
D运行  :  3
C运行  :  3
D运行  :  4
C运行  :  4

 

说明:

Thread2类通过实现Runnable接口,使得该类有了多线程类的特征。run()方法是多线程程序的一个约定。所有的多线程代码都在run方法里面。Thread类实际上也是实现了Runnable接口的类。

 

在启动的多线程的时候,需要先通过Thread类的构造方法Thread(Runnable target) 构造出对象,然后调用Thread对象的start()方法来运行多线程代码。

 

实际上所有的多线程代码都是通过运行Thread的start()方法来运行的。因此,不管是扩展Thread类还是实现Runnable接口来实现多线程,最终还是通过Thread的对象的API来控制线程的,熟悉Thread类的API是进行多线程编程的基础。

 

6.20-7.12报名Java课程即可优惠2000元, 送Java视频

 

郑州尚学堂7月开班时间公告

 

Java培训脱产班开课时间:2017年07月12日 抢座中..

Android培训脱产班开课时间:2017年07月12日 抢座中..

 

编程学习问题和资料+QQ:3500819260

 

地址:河南省郑州市金水区文化路硅谷广场B座9楼011A-018号

© 著作权归作者所有

共有 人打赏支持
郑州尚学堂
粉丝 0
博文 68
码字总数 46935
作品 0
郑州
tomcat学习笔记之默认连接器

1、http 1.1的新特性 (1)持久连接 当下载了页面后,服务器不会立即关闭连接 等待被该页面引用的所有资源下载完(同一个连接下载) 考虑到 打开/关闭 http 连接系统开销很大 故web 服务端、...

职业搬砖20年
06/05
0
0
JAVA实现多线程入门

1:程序员可以在程序中执行多个线程,每一个线程完成一个功能,并于其他线程并发执行,这种机制被称为多线程 2:实现线程的两种方法是,分别是继承java.lang.Thread或者实现java.lang.Runnabl...

别叫小伙
2016/08/06
0
0
java学习笔记----之多线程开发

概念 线程和进程是两个不同的概念,进程的范围大于线程。通俗的说,进程就是一个程序,线程是这个程序能够做的各种事情。比如,媒体播放机运行时就是一个程序,而媒体播放机同时做的下载和播...

carlos
2014/04/13
0
0
bboss热部署应用资源销毁监听器ApplicationLifeListener使用说明

bboss热部署应用资源销毁监听器ApplicationLifeListener使用说明 实现类org.frameworkset.web.listener.ApplicationLifeListener实现javax.servlet.ServletContextListener接口,当应用卸载时......

bboss
2014/01/05
0
0
Functional Interface(函数式接口)

什么是函数式接口(Functional Interface) 其实之前在讲Lambda表达式的时候提到过,所谓的函数式接口,当然首先是一个接口,然后就是在这个接口里面只能有一个抽象方法。 这种类型的接口也称...

rechardchensir
08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

992. Sort Array By Parity II - LeetCode

Question 992. Sort Array By Parity II Solution 题目大意:给一个int数组,一半是奇数一半是偶数,分别对偶数数和奇数数排序并要求这个数本身是偶数要放在偶数位上 思路:把奇数数和偶数数...

yysue
16分钟前
1
0
Snackbar源码分析

目录介绍 1.最简单创造方法 1.1 Snackbar作用 1.2 最简单的创建 1.3 Snackbar消失的几种方式 2.源码分析 2.1 Snackbar的make方法源码分析 2.2 对Snackbar属性进行设置 2.3 Snackbar的show显示...

潇湘剑雨
47分钟前
1
0
分布式作业系统 Elastic-Job-Lite 源码分析 —— 作业数据存储

分布式作业系统 Elastic-Job-Lite 源码分析 —— 作业数据存储 摘要: 原创出处 http://www.iocoder.cn/Elastic-Job/job-storage/ 本文基于 Elastic-Job V2.1.5 版本分享 1. 概述 本文主要分享...

DemonsI
54分钟前
1
0
jmockit demo

1、@Mocked,标识一个指定的class的实例或被测对象的参数被Mock掉。 2、@Capturing,标识一个被Mock的对象,从该对象派生的子类也被Mock了。 3、@Injectable,标识只有一个指定的被测对象的内...

我的老腰啊
今天
1
0
内容换行

用 <textarea>13611112222 这里想换行 13877779999</textarea><textarea>13611112222 13877779999</textarea>...

小黄狗
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部