文档章节

实现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
多线程---线程的创建

一、定义线程 1、继承java.lang.Thread类。 此类中有个run()方法,应该注意其用法: public void run() 如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法...

董家二少
2016/01/13
36
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringCloud SpringBoot mybatis分布式Web应用的统一异常处理

我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用...

itcloud
7分钟前
0
0
c++ std::bind和std::function

定义于头文件 <functional> std::bind 函数绑定,https://zh.cppreference.com/w/cpp/utility/functional/bind // bind 用例#include <iostream>#include <functional> // 自定义的一......

SibylY
10分钟前
0
0
SecureCRT的安装与破解(过程很详细!!!)

SecureCRT的安装与破解(过程很详细!!!) SecureCRT的安装与破解(过程很详细!!!) 使用SecureCRT可以方便用户在windows环境下对linux主机进行管理,这里为大家讲一下SecureCRT的破解方...

DemonsI
14分钟前
0
0
介绍几款可用的web应用防火墙

目前有两款,基于软件和基于应用程序的web应用防火墙。基于软件的产品布置在Web服务器上,而基于应用程序的产品放置在Web服务器和互联网接口之间。两种类型的防火墙都会在数据传入和传出web...

上树的熊
21分钟前
1
0
用Visual Studio开发以太坊智能合约

区块链和以太坊 自从我熟悉区块链、以太坊和智能合约以来,一直失眠。 我一直在阅读,阅读和阅读,最后我能够使用一些工具,他们建议使用以太坊网站官方客户端应用程序(Ethereum Wallet)也...

geek12345
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部