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

极客学院java 线程代码笔记1

2015-07-22 12:46 441 查看
//java 线程实现的两种方法:
//方法一:继承Thread类 ,方法二:实现Runnable接口

class Mythread extends Thread{

String name;      //储存线程名字

Mythread(String name){
this.name=name;
}

public void run(){         //覆盖run();

for(int i=0;i<1011;i++){
System.out.println(name+":"+i);      //方便观察
}
super.run();
}
}

//方法二:(推荐使用)
class Myrunnable implements Runnable{

String name;
Myrunnable (String name){
this.name=name;
}
public void run(){
for(int i=0;i<1000;i++){
try {
Thread.sleep(1000);  //每秒执行一次
System.out.println(name+":"+i);
//System.out.println("当掐线程对象:"+Thread.currentThread().getName());
if(i==10){
System.out.println("线程礼让:");
Thread.yield();          //让另一线程执行
}

} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

}

public class ThreadDemo {

public static void main(String[] args) {
/*
Mythread p1=new Mythread("p1");
Mythread p2=new Mythread("p2");       //构造两个线程,方法一
p1.start();
p2.start();             //用start()启动而不是run();
System.out.println();
*/
Myrunnable p3=new Myrunnable("p3");  //方法二
Myrunnable p4=new Myrunnable("p4");
Thread t3=new Thread(p3);
Thread t4=new Thread(p4);
System.out.println(t3.isAlive());     //判断是否启动
t3.start();
for(int i=0;i<100;i++)
{
if(i>10){
try {
t4.join();             //强行加入线程
System.out.println("新加入线程t4");

} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("主线程正在执行");
}

}

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