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

java中线程的简单的线程的多线程的一个区别

2012-07-23 11:33 309 查看
public class Lesson5

{

private static int i = 0;

public static void main(String [] args)

{

/* 当我们运行main函数的时候,我们就是在运行主函数

* 因为这是一个单线程,所以只有在运行完LessonDemo1的run函数的代码之后

* 才会去运行Lesson5的里面的代码

* 但是如果我们把LessonDemo1放在另外一个线程中

* 那么LessonDemo1和Lesson5就会运行两个不同的线程中

* 其实运行在两个不同的线程中,那么这两个线程的代码就是相对独立的运行

*

*

*/

new LessonDemo1().run();

while(i < 10)

{

System.out.println("Main():" + Thread.currentThread().getName());

i++;

}

}

}

class LessonDemo1

{

private int j = 0;

public void run()

{

while(j < 10)

{

System.out.println("LessonDemo1:" + Thread.currentThread().getName());

j++;

}

}

}

/*

*这是一个多线程的实例:首先我们在主线程中开启了另外一个线程

*然后在主线程中又执行了另外的代码

*那么此时我们的主线程和我们自己建立的另外一个线程,就有了两个线程

*其实,我们建立的线程并不是在同时运行,而是看谁抢到cpu的内存空间,我们就运行谁

*所以这两个线程是在不断的抢夺之中,所以我们打印出来的线程名称也是相互交换的。

*/

class Lesson5TestDemo1

{

private static int i = 0;

public static void main(String [] args)

{

new Lesson5TestDemo2().start();

while(i < 10)

{

System.out.println("LessonTestDemo1:" +Thread.currentThread().getName());

i++;

}

}

}

class Lesson5TestDemo2 extends Thread

{

private int j = 0;

public void run()

{

while(j < 10)

{

System.out.println("LessonTestDemo2" + Thread.currentThread().getName());

j++;

}

}

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