怎么创建一个java线程?只需要实现Thread即可。
package com.concurenny.chapter.two;
/**
* 创建者:Mr lebron 创建时间:2017年11月16日 下午3:31:39
*/
public class ThreadDemo {
// 自定义线程
static class MyThread extends Thread {
@Override
public void run() {
// 这里是线程执行任务,该方法执行完线程就会被回收。
System.out.println(Thread.currentThread().getName() + "正在执行.");
}
}
}
怎么启动一个线程?调用线程的start方法即可,该线程就会执行run方法。
package com.concurenny.chapter.two;
/**
* 创建者:Mr lebron 创建时间:2017年11月16日 下午3:31:39
*/
public class ThreadDemo {
public static void main(String[] args) {
MyThread t = new MyThread();
t.start();
}
// 自定义线程
static class MyThread extends Thread {
@Override
public void run() {
// 这里是线程执行任务,该方法执行完线程就会被回收。
System.out.println(Thread.currentThread().getName() + "正在执行.");
}
}
}
上面的创建线程的方法不好,因为线程任务写死了。下面使用实现runnable实现任务的创建。
package com.concurenny.chapter.two;
/**
* 创建者:Mr lebron 创建时间:2017年11月16日 下午3:42:08
*/
public class RunnableDemo {
public static void main(String[] args) {
new Thread(new Task1()).start();
new Thread(new Task2()).start();
}
// 这个是线程任务,和thread的耦合度降低
static class Task1 implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "正在运行");
}
}
// 这个是线程任务,和thread的耦合度降低
static class Task2 implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "正在运行");
}
}
}