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(); } }
相关文章推荐
- JAVA高并发程序设计学习:Synchronized同步代码块具体使用方法
- java线程学习——创建线程的两种方法
- Java:使用匿名内部类在方法内部定义并启动线程
- java学习日记(5)——创建线程的两种基本方法
- Java传统多线程的实现有两种方法,继承Thread类或者实现Runnable即可.线程启动时调用start()方法.
- java基础学习总结——线程之使用Runnable接口创建线程的方法
- Java 并发编程学习1线程的创建和定时器的使用
- Java:使用匿名内部类在方法内部定义并启动线程
- java学习12--线程的可见性,synchronized,volatile使用
- Java:使用匿名内部类在方法内部定义并启动线程
- java中一个类要当作线程来使用有两种方法
- Java多线程学习笔记1——线程的实现方式以及定时器的使用
- Java中启动线程start和run的两种方法
- Java使用synchronized修饰方法来同步线程的实例演示
- Java:使用匿名内部类在方法内部定义并启动线程
- java两种启动线程方法根本不同,Thread继承和实现Runable接口
- Java学习之面向对象(方法的重写 overwrite,super的使用,继承中的构造方法)
- 使用Java构造和解析Json数据的两种方法(详解一)
- JAVA基础学习之流的简述及演示案例、用缓冲区方法buffer读写文件、File类对象的使用、Serializable标记接口(6)