您的位置:首页 > 编程语言 > Java开发

java 多线程实例,自己写的第一个例子,理解什么是多线程,怎么写多线程

2017-09-10 12:39 525 查看
package test;

public class ThreadTest extends Thread {
public ThreadTest(String str){//用构造函数控制线程的名字,如果不写,默认是thread-整数
super(str);
}

@Override
public void run() {

synchronized(this){

for(int i=0;i<10;i++){//控制run的内部这些东西执行的次数,不加这句,run只执行一次。

System.out.println(i+getName());

try {

sleep((long)(Math.random()*1000));

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//for循环结束

System.out.println("for循环结束"+getName());

}

super.run();

}


/*
* 此方法可添加也可以不填加,start都能够调用。
* @Override
public synchronized void start() {
// TODO Auto-generated method stub
super.start();
}*/

public static void main(String args[]){

new ThreadTest("su").start();

new ThreadTest("zhu").start();

}
}

1其中sleep函数,是让程序在这一行卡一会儿,然后再执行后面的代码。起到休息的作用。是Tread类特有的,不继承Tread直接是没办法使用sleep的,编译器会报错。

2TreadTest(su)和TreadTest(zhu)两个是并行的,即基本上是同时执行的,但是执行速度是随机的(受到当时cpu、内存等的环境影响),所以system.out.println打印出来的东西是随机的,不是固定的。即每一次执行该class,输出的结果是随机的。如下对比



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐