package com.hujl.thread;
import java.util.Timer;
import java.util.TimerTask;
/**
* 演示创建线程和定时器
* @author Janrone
* @website http://hujl.sinaapp.com
*/
public class CreatThread {
/**
* @param args
*/
public static void main(String[] args) {
//1.重写 Thread 类的 run 方法
Thread thread=new Thread(){
@Override
public void run() {
System.out.println("CreatThread.main(...).new Thread() {...}.run()");
}
};
thread.start();
//2.实现Runnabl接口来启动一个线程,大多使用这种方法.
Thread thread2=new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out
.println("CreatThread.main(...).new Runnable() {...}.run()");
}
});
thread2.start();
//实现一个定时器
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out
.println("CreatThread.main(...).new TimerTask() {...}.run()");
}
}, 2000);
ThreadOut();
}
public static void ThreadOut() {
while (true) {
new Thread(new Runnable() {
@Override
public void run() {
print("zhangsan");
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
print("lisi");
}
}).start();
}
}
//使用synchronized来确定在打印 name 的时候不被其他线程进入
public static synchronized void print(String name){
for (int i = 0; i < name.length(); i++)
System.out.print(name.charAt(i));
System.out.println();
}
}
java学习——线程启动的两种方法,Time定时器,synchronized 的使用
最新推荐文章于 2024-08-03 15:01:05 发布