1、自定义线程(继承Thread)
package com.ljb.app.thread;
/**
* 自定义线程(使用继承Thread方法)
* @author LJB
* @version 2015年3月6日
*/
public class MyThread extends Thread{
private int count = 0;
public void run() {
while (count < 100) {
count++;
}
System.out.println("count is " + count);
}
}
2、启动线程
package com.ljb.app.thread;
/**
* 启动自定义线程
* @author LJB
* @version 2015年3月6日
*/
public class TestMyThread {
/**
* @param args
*/
public static void main(String[] args) {
// 创建线程实例
MyThread myThread = new MyThread();
/*
* start()方法作用:
* 该方法会使操作系统初始化一个新的线程
* 由这个线程执行线程对象的run()方法
*/
myThread.start();
}
}
缺点:不能再继承其他类
3、创建线程(实现Runnable接口)
package com.ljb.app.thread;
/**
* 创建类(实现Runnable接口)
* @author LJB
* @version 2015年3月6日
*/
public class MyRunnable implements Runnable{
private int count = 0;
public void run() {
System.out.println("实现Runnable接口的线程已启动");
while (count < 100) {
count++;
}
System.out.println("count is " + count);
}
}
4、启动线程
package com.ljb.app.thread;
/**
* 创建测试类
* @author LJB
* @version 2015年3月6日
*/
public class TestRunnable {
/**
* @param args
*/
public static void main(String[] args) {
// 创建实现Runnable接口的类对象
MyRunnable myRunnable = new MyRunnable();
// 创建线程,调用Thread带参构造方法
Thread thread = new Thread(myRunnable);
// 启动线程
thread.start();
}
}