文档章节

实现java.lang.Runnable接口

郑州尚学堂
 郑州尚学堂
发布于 2017/07/11 14:36
字数 420
阅读 2
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

linux脚本中父shell与子shell 执行的几种方式

本文主要介绍以下几个命令的区别: shell subshell source $ (commond) `commond` Linux执行Scripts有两种方式,主要区别在于是否建立subshell 1. source filename or . filename 不创建sub...

问题终结者
4分钟前
0
0
git简单操作

1、 git init 初始化仓库 git add 1.txt 添加文件 git commit -m ”commit” 提交更新,添加注释 git status 查看仓库状态 git log 查看日志 //修改文件后提交更新 git diff 查看有哪些修改 ...

xiaobai1315
9分钟前
0
0
基于vue的Element-ui定义自己的select组件

基于vue的Element-ui定义自己的select组件 <template> <div> <el-select v-model="svalue" placeholder="请选择" filterable> <el-option v-for="item in options"......

莫沫达
11分钟前
0
0
对象检测(object detection)算法图解

摘要: 本文简要介绍图像检测中常用的深度学习方法——RCNN家族系列算法,以图像讲解形式,便于理解。 在生活中,经常会遇到这样的一种情况,上班要出门的时候,突然找不到一件东西了,比如钥...

阿里云官方博客
12分钟前
0
0
计算机通信协议学习-Http

HTTP协议: 引用:http://www.cnblogs.com/ranyonsue/p/5984001.html HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网( WWW:World Wide Web)服务...

xiaoyaoyoufang
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部