java实现多线程编程的两种方法。
2016-06-30 17:46
302 查看
1、继承Thread类;
2、实现Runnable接口;
一、第一种方法:
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:49
* @version 1.0
*/
public class MyThread extends Thread {
private String name;
public MyThread(String name) {
this.name = name;
}
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(name + ":" + i);
}
super.run();
}
}
//
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:05
* @version 1.0
*/
public class ThreadTest {
public static void main(String[] args) {
MyThread t1=new MyThread("A");
MyThread t2=new MyThread("B");
// t1.run();
// t2.run();
//线程的启动是通过start()方法
t1.start();
t2.start();
}
}
二、第二种方法:
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:35:13
* @version 1.0
*/
public class MyRunnable implements Runnable{
private String name;
public MyRunnable(String name) {
this.name=name;
}
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(name + ":" + i);
}
}
}
//
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:05
* @version 1.0
*/
public class ThreadTest {
public static void main(String[] args) {
MyRunnable r1 = new MyRunnable("A");
MyRunnable r2 = new MyRunnable("B");
Thread t1 = new Thread(r1);
Thread t2 = new Thread(r2);
t1.start();
t2.start();
}
}
2、实现Runnable接口;
一、第一种方法:
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:49
* @version 1.0
*/
public class MyThread extends Thread {
private String name;
public MyThread(String name) {
this.name = name;
}
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(name + ":" + i);
}
super.run();
}
}
//
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:05
* @version 1.0
*/
public class ThreadTest {
public static void main(String[] args) {
MyThread t1=new MyThread("A");
MyThread t2=new MyThread("B");
// t1.run();
// t2.run();
//线程的启动是通过start()方法
t1.start();
t2.start();
}
}
二、第二种方法:
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:35:13
* @version 1.0
*/
public class MyRunnable implements Runnable{
private String name;
public MyRunnable(String name) {
this.name=name;
}
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(name + ":" + i);
}
}
}
//
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:05
* @version 1.0
*/
public class ThreadTest {
public static void main(String[] args) {
MyRunnable r1 = new MyRunnable("A");
MyRunnable r2 = new MyRunnable("B");
Thread t1 = new Thread(r1);
Thread t2 = new Thread(r2);
t1.start();
t2.start();
}
}
相关文章推荐
- java多线程断点下载
- Eclipse无法以Debug模式运行
- Java 21选5 问题
- Java基础数组应用
- java编程相关总结(三)
- org.springframework.beans.factory.BeanDefinitionStoreExcep
- JAVA 读取本地配置文件(2)
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
- java.util.Date和java.util.Calendar及相关类
- java @ResponseBody返回值中去掉NULL字段
- Java并发编程:Callable、Future和FutureTask
- Spring Aop配置时的切入点表达式
- java序列化与反序列化
- java 内部类(inner class)详解
- SpringMVC利用MultipartFile进行文件上传
- Maven+SpringMVC+MyBatis的环境搭建(二)
- 【Struts2】:Struts2的类型转换
- java学习笔记——maven
- java中变量什么时候需要初始化
- 深入分析 Java 中的中文编码问题