/**
* @author ZhangShaoWen
* @time 2013-12-25
* @function 多个线程的并发使用
*/
package com.test2;
public class XianC2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建对象
Dog2 d = new Dog2(5);
JS js = new JS(5);
//创建线程
Thread t1 = new Thread(d);
Thread t2 = new Thread(js);
//启动线程
t1.start();
t2.start();
}
}
class Dog2 implements Runnable{
int n = 0;
int times = 0;
public Dog2(int n){
this.n = n;
}
//重写run函数
public void run(){
while(true){
try {//进程睡眠
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
times ++;
System.out.println("正在输出第"+times+"个hello");
if(times==n){
break;
}
}
}
}
class JS implements Runnable{
int n = 0;
int res = 0;
int times = 0;
public JS(int n){
this.n = n;
}
//重写run函数
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
try {//睡眠一秒钟
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
res += times;
System.out.println("当前结果是:"+res);
times++;
if(times == n){
System.out.println("最终结果是:"+res);
break;
}
}
}
}