黑马程序员技术交流社区
标题:
两种方式创建线程
[打印本页]
作者:
Dej@vu
时间:
2013-8-3 08:53
标题:
两种方式创建线程
public class Test0001 {
/**
* 创建线程的第一种方式:继承Thread类。 步骤: 1.定义类的继承Thread. 2.复写Thread类中的run方法。
* 3.调用线程的start方法, 该方法两个作用:启动线程,调用run方法。
*/
public static void main(String[] args) {
TheadTest theadTest = new TheadTest();
theadTest.start();
// 主线程
for (int i = 0; i < 4000; i++) {
System.out.println(Thread.currentThread().getName() + i);
}
}
}
class TheadTest extends Thread {
// 副线程
public void run() {
for (int i = 0; i < 4000; i++) {
System.out.println(Thread.currentThread().getName() + i);
}
}
}
复制代码
/**
* 创建线程的第二种方式:实现Runnable接口 步骤: 1,定义类实现Runable接口 2,覆盖Runnable接口中的Run方法。
* 3,通过Thread类建立线程对象 4,将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数
* */
public class Test0002 {
public static void main(String[] args) {
ThredTest t = new ThredTest();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
Thread t3 = new Thread(t);
t1.start();
t2.start();
t3.start();
}
}
class ThredTest implements Runnable {
private static int sick = 50;
public void run() {
while (true) {
if (sick > 0) {
System.out.println(Thread.currentThread().getName() + "卖票"
+ sick--);
}
}
}
}
复制代码
作者:
sergio
时间:
2013-8-3 15:06
一般选用第二种来使用,灵活可以在类中继续继承别的类来实现其他方法!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2