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

java学习——线程启动的两种方法,Time定时器,synchronized 的使用

2011-11-23 10:52 806 查看
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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: