- 浏览: 103339 次
- 性别:
- 来自: 深圳
-
文章分类
- 全部博客 (209)
- http://docs.jpush.io/server/java_sdk/ (1)
- SpingMVC ModelAndView (1)
- Model (1)
- Control以及参数传递 (1)
- https://www.alipay.com/ (1)
- 检查指定的字符串列表是否不为空。 (1)
- 转自http://my.oschina.net/rpgmakervx/blog/505434 (1)
- 压缩js (1)
- 含包含 字母数字校验 (1)
- 判断浏览器是ie (1)
- fixbox (0)
- 转自http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html (1)
- http://dl2.iteye.com/upload/attachment/0113/2406/afbd8d53-dcad-3afc-8d78-41c1591 (0)
- IDEA (0)
- maven搭建 (0)
- http://www.jeasyuicn.com/api/docTtml/index.htm (1)
- 给tomcat添加运行内存: (1)
- JPUSH推送 (1)
- requestScope (0)
- oracle中plsql安装client10连接数据库 (1)
- 不需要安装oracle11g (1)
- tuikuan (1)
- http://www.hjxmall.com/index.php (1)
- java (1)
- 参考 (1)
- xml签名验签模拟程序 (1)
- 技术网站收集分享 (1)
- Java NIO提供了与标准IO不同的IO工作方式 ------来源于 http://www.iteye.com/magazines/132-Java-NIO (1)
- oracle表查询语句优化 (0)
- oracle (5)
- a (1)
- TenpayHttpClient (2)
- mongodb (1)
- http://www.qcloud.com/product/cmongo.html?utm_source=pcsem1&utm_medium=bdgj46&utm_campaign=baidu (1)
- SpringMVC整合MongoDB开发 (0)
- SpringMVC整合MongoDB开发 https://www.mongodb.org (1)
- Java 语言中常见问题总结 (1)
- 数据库SQL优化大总结 (1)
- 拦截器与过滤器的区别 (1)
- Struts2中拦截器与过滤器的区别及执行顺序 (1)
- Spring声明式事务管理与配置 (0)
- oracle OPERTION (1)
- java 高并发多线程开发 (1)
- Collection 与 map 接口相关集合 (1)
- 多线程开发实践 (1)
- JVM调优总结 转自 http://www.importnew.com/18694.html (1)
- redis 五种数据类型的使用场景 转自于 http://blog.csdn.net/gaogaoshan/article/details/41039581 (1)
- HttpWatch http基础 来自于http://blog.csdn.net/gaogaoshan/article/details/21237555 (1)
- maven 远程仓库 http://blog.csdn.net/gaogaoshan/article/details/40266779 (1)
- 生成Webservice客户端的4中方法 http://blog.csdn.net/gaogaoshan/article/details/8980775 (1)
- http://fgh2011.iteye.com/blog/1564283 (1)
- sleep和wait有什么区别 http://xiaowei2002.iteye.com/blog/2174188 (1)
- JDK中常用包及其类 常见的几种RuntimeException (1)
- Java的运行原理 (1)
- mybatis缓存的使用及理解 http://my.oschina.net/dxqr/blog/123163 (1)
- 软件架构设计分析 (1)
- redis技术总结 (3)
- java面试总结知识点 (1)
- ZooKeeper技术 (1)
- Hadoop (1)
- sso单点登录 (1)
- SpringIOC (1)
- 书签ssssssssssssssssssssss (1)
- spring事务的隔离级别 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html (1)
- 秒杀系统架构分析与实战 http://www.importnew.com/18920.html (1)
- oracle 连接plsql配置 (1)
- maven工程集成springmvc http://blog.csdn.net/fox_lht/article/details/16952683 (1)
- java类序列化与反序列化版本唯一号serialVersionUID (1)
- spring注解用法总结 (1)
- eclipse导入maven项目找不到资源文件方法 (1)
- dubbo (0)
- socket 网络编程 服务器与客户端 编程 (1)
- Thread与Runnable实现线程利用线程插队实现求和操作 (1)
- 生产者与消费者模式 (1)
- JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML*** (1)
- xml 与JAVAbean转换 (1)
- MAP (2)
- decimalToString (1)
- 反编译插件 (0)
- 反编译插件 https://sourceforge.net/projects/jadclipse/?source=typ_redirect (1)
- AWX (1)
- 官网地址Dinp (1)
- public interface ExecutorService extends Executor (1)
- MAIN (1)
- 转自于 http://blog.csdn.net/lufeng20/article/details/24314381 (1)
- JaxbUtil (1)
- HttpXmlClient (0)
- Http post 请求 (1)
- URLDecoder (1)
- spdb (0)
- 订单号生成规则 (1)
- 距离0点毫秒数 (1)
- MyBatis存储过程调用java (1)
- Banks (1)
- 学习网址 (1)
- hots配置oracle数据库配置修改 (1)
- 支付宝文档 (1)
- Jadclipse (1)
- filter (0)
- Filter过滤器 (1)
- 工具类 fixbox (1)
- java quartz (0)
- java quartz 实现定时任务,每个礼拜一到礼拜五定时执行 (1)
- Thread (4)
- getResourceAsStream (1)
- BigData (1)
- 开源架构 (17)
- 架构 (0)
- 文件操作 (2)
- tools (20)
- 测试工具 (1)
- vm (1)
- mq (1)
- blog (1)
- 开源架构搭建技术 (6)
- JAVA细节技术点总结 (1)
- 优化技术 (1)
- LINUX命令使用 (1)
- spring (2)
- 大数据 (1)
- struts2 (1)
- python (1)
- pay (1)
- linux (1)
- 压力测试 (1)
- 代码检查插件 (1)
- 游戏端开发 (1)
- 微信开发相关 (1)
- 搜索引擎 (1)
- 网络技术 (1)
- 分布式部署 (1)
- 堆栈信息 (1)
最新评论
--------------------实现线程的两种方式-----------------
package com.tangkuo.thread.cn;
/**
*
* @author tangkuo
*
*/
public class ThreadDemo extends Thread{
/**
* 线程 每次输出一个数字,休眠5秒钟
* 打印当前线程的名字与输出的数字值
*
*/
@Override
public void run(){
for(int i = 0; i < 10; i++){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("新线程"+ Thread.currentThread().getName()+"输出"+i);
}
}
public static void main(String[] args) {
ThreadDemo thread1 = new ThreadDemo();
ThreadDemo thread2 = new ThreadDemo();
thread1.start();
thread2.start();
for(int i = 0; i < 10; i++){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("主线程"+ Thread.currentThread().getName()+"输出"+i);
}
}
}
package com.tangkuo.thread.cn;
public class RunnableDemo implements Runnable {
@Override
public void run() {
for(int i = 0; i < 10; i++){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("新线程"+ Thread.currentThread().getName()+"输出"+i);
}
}
public static void main(String[] args) {
RunnableDemo runnableDemo = new RunnableDemo();
//Runnable runnableDemo = new RunnableDemo();
Thread thread1 = new Thread(runnableDemo);
Thread thread2 = new Thread(runnableDemo);
thread1.start();
thread2.start();
for(int i = 0; i < 10; i++){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("主线程的名字"+ Thread.currentThread().getName()+"输出值"+i);
}
}
}
package com.tangkuo.thread.cn;
/**
* 利用线程插队求和
* @author Administrator
*
*/
public class SumRunnableDemo implements Runnable {
private int x;
private int y;
private long sum;
@Override
public void run() {
for(int i = x; i < y; i++){
sum +=i;
}
}
public SumRunnableDemo(int x, int y) {
super();
this.x = x;
this.y = y;
System.out.println(x+"到"+y+"之间的和等于");
}
public long getSum() {
return sum;
}
public static void main(String[] args) {
SumRunnableDemo srd = new SumRunnableDemo(1,100);
Thread thread = new Thread(srd);
thread.start();
//线程插队求和
try {
thread.join();//主线程必须等子线程执行完毕才能运行关闭。保证子线程所有业务逻辑处理完成
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("sum="+srd.getSum());
}
}
相关推荐
Thread 线程类是 Java 中 Thread 和 Runnable 接口的实现,它提供了线程的基本操作和管理。下面是对 Thread 类的详细介绍: 1. Runnable 接口 Runnable 接口是 Thread 类的基类,它提供了 run() 方法,该方法是...
在Java编程语言中,创建线程有两种主要方式:继承`Thread`类和实现`Runnable`接口。由于Java的单继承特性,当一个类需要继承其他类时,就不能再直接继承`Thread`,这时实现`Runnable`接口就成为创建线程的优选方案。...
无论是通过继承`Thread`类还是实现`Runnable`接口,都可以有效地利用多线程提高程序的执行效率。同时,我们也需要注意多线程环境下可能出现的资源共享问题,并采取适当的同步措施来确保数据的一致性和安全性。
本篇文章将深入探讨如何利用`Thread`类和`Runnable`接口来实现阶乘计算的多线程解决方案。阶乘计算是数学中的一个概念,对于非负整数n,其阶乘表示为所有小于等于n的正整数的乘积,记作n!。 首先,我们来看如何使用...
在第二种方法中,由于3个Thread对象共同执行一个Runnable对象中的代码,因此可能会造成线程的不安全,比如可能ticket会输出-1(如果我们Syste
Java提供了两种创建线程的方式:继承Thread类和实现Runnable接口。 1. 继承Thread类创建线程: 当你选择继承Thread类时,你需要创建一个新的类,这个类扩展自Thread类。Thread类已经实现了Runnable接口,所以你不...
本Android演示项目("android demo")旨在展示如何在Android应用程序中有效地利用Runnable来实现异步操作。 首先,我们需要理解Android主线程,也被称为UI线程,它负责处理用户界面的更新和事件响应。如果在主线程...
通过深入理解线程的基本概念、生命期、状态转换、调度原则以及实现方式,可以有效地利用多线程来优化应用程序。同时,合理地处理线程间的同步和避免死锁也是构建稳定、可靠的多线程应用的关键。
在一个线程中求100以内的偶数,求出一个偶数后休眠一个随机时间在(1-300毫秒之间).在另一个线程中求奇数,求出一个奇数后也休眠一个随机时间(1-300毫秒之间).输出数据时应有提示,指明是哪个线程输出的数据 用实例...
本篇文章将深入探讨如何使用`Runnable`接口创建线程,并与`Thread`类创建线程的方式进行比较。 首先,我们来看`Runnable`接口。`Runnable`是Java提供的一个接口,其中只有一个抽象方法`run()`. 当你创建一个类实现...
### 多线程的Runnable与Thread的区别 在Java中实现多线程有两种主要方式:一种是继承`Thread`类;另一种是实现`Runnable`接口。本文将深入探讨这两种方法的区别,帮助初学者更好地理解并选择适合场景的多线程实现...
本文将深入探讨如何通过实现`Runnable`接口和继承`Thread`类两种方式来创建线程,并实现在屏幕上随机画正方形的程序。 首先,让我们了解线程的概念。线程是程序中的单一顺序控制流,一个进程可以包含多个线程,它们...
一个简单的多线程代码示例,Java实现,用于实现同一时刻,只允许一个线程调用执行的代码块或类,即synchronized的如何使用(多线程实现),实现 Runnable
声明自定义线程类实现Runnable接口实现奇数/偶数序列线程并发执行。
本文将详细讲解如何通过实现`Runnable`接口创建多线程,以及这种方式相较于继承`Thread`类的优势。 一、实现Runnable接口创建多线程 1. **步骤** 当一个类需要继承其他类而不能直接继承`Thread`类时,可以选择...
Java 使用 Thread 和 Runnable 的线程实现方法比较 Java 中有两种方式来实现多线程:使用 Thread 类和使用 Runnable 接口。下面将对这两种方法进行比较和分析。 使用 Thread 类实现多线程 使用 Thread 类实现多...
Thread 和 Runnable 是实现 Java 多线程的两种方式,Runnable 是接口,Thread 是类,建议使用 Runnable 实现 Java 多线程,不管如何,最终都需要通过 thread.start() 来使线程处于可运行状态。 Thread 的 start 和 ...
Java 多线程 Thread 与 Runnable 的区别 Java 多线程技术是 Java 语言中的一种基础技术,用于实现多任务并发执行的功能。在 Java 中,实现多线程有两种方法:继承 Thread 类和实现 Runnable 接口。在本文中,我们将...
Java提供两种主要方式来创建线程:继承`Thread`类或实现`Runnable`接口。这两种方法都可以让类成为可执行的线程,但它们之间存在一些差异。 1. 继承`Thread`类: 当你创建一个新的类并直接继承`Thread`类时,你可以...
在Android开发中,多线程下载是一个常见的需求,特别是在处理大文件或者为了提高用户体验时,我们需要利用多线程来分块下载数据。本篇将基于`Runnable`接口提供一个简单的多线程下载示例,帮助开发者理解如何在...