这里写了一个小例子,学习一下线程实现的两种方式(继承自Thread类,实现Runnable接口),以及start(开启事务,调用run方法),yield(暂停当前正在执行的线程对象,并执行其他线程。),join(等待该线程终止),sleep(指定的毫秒数内让当前正在执行的线程休眠),setPriority(设置优先级)。
package com.test;
import java.util.Date;
/**
* @author wangking E-mail:admin717@gmail.com
* @version 创建时间:2009-9-11 上午01:39:37
* 开了三个线程。一个timeThread,一个thread2,一个main thread。其中只有等timeThread执行完了,才能执行main thread
*/
public class ThreadTest {
public static void main(String[] args) {
TimeRunnable timeRunnable = new TimeRunnable("time thread");
Thread timeThread = new Thread(timeRunnable);
Thread2 thread2 = new Thread2("wangking");
thread2.setPriority(Thread.NORM_PRIORITY+2);
timeThread.start();
thread2.start();
try {
timeThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
for(int i=0;i<100;i++){
System.out.println("-------main is running-----"+i);
}
}
}
//线程一
class Thread2 extends Thread{
boolean flag = true;
public Thread2(String name){
super(name);
}
@Override
public void run() {
for(int i = 0;i < 100;i++){
System.out.println(getName()+" thread is running:" + i);
if(i%10 == 0){
try {
this.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
return;
}
this.yield();
}
}
}
//线程二
public void setFlag(boolean flag){
this.flag = flag;
}
}
class TimeRunnable implements Runnable{
private String name; //线程名称
public TimeRunnable(String name){
this.name = name;
}
public void run() {
int i = 0;
while(i<=10){
System.out.println("----"+this.name+" at "+new Date());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
return;
}
i++;
}
}
}
分享到:
相关推荐
Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...
Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程
Java线程Java线程Java线程Java线程Java线程Java线程
Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 ...
java 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程
Java 线程系列博文总结word化,编目如下,欢迎互相学习交流: Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:...
Java线程模块Java线程之秒表新手学习Java线程模块时,利用Java中设置线程的暂停间隔,做的简易秒表
java线程 线程 教程 java线程教程 java线程学习资料 本教程有什么内容? 本教程研究了线程的基础知识— 线程是什么、线程为什么有用以及怎么开始编写使用线程的简单 程序。 我们还将研究更复杂的、使用线程的应用...
java 线程Dump 分析工具: Java的TDA线程转储分析器是一个用于分析Sun Java VM生成的线程转储和堆信息的小型Swing GUI(目前用1.4测试)。它从提供的日志文件中解析线程转储和类直方图。它提供关于发现的线程转储的...
java线程同步java线程同步java线程同步
Java线程:概念与原理 2 一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java...
java线程.pdf java 学习java
Java雷电游戏,主要用SWING和Java的进程,纯Java代码写的,主要为开发人员对Java线程的认识
Java的线程和Java AppletJava的线程和Java AppletJava的线程和Java AppletJava的线程和Java AppletJava的线程和Java Applet
java 线程 新手java 线程 新手java 线程 新手java 线程 新手
分析java线程日志的工具,使用jstack把java线程日志dump下来,然后上传到该工具,就可以查看线程阻塞情况等信息。
Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式...
Java 模拟线程并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发
java线程入门java线程入门java线程入门java线程入门java线程入门java线程入门java线程入门java线程入门