`
wangking717
  • 浏览: 257568 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

java线程初步认识

阅读更多

这里写了一个小例子,学习一下线程实现的两种方式(继承自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++;   
               
        }      
           
           
           
    }   
       
} 

 

 

 

分享到:
评论
1 楼 paoxiaowow 2010-09-29  
例子我跑了下  感觉 yield  和 setPriority 这两个参数有和没有 效果都一样呢

相关推荐

    Java线程讲解Java线程讲解

    Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解

    线程 JAVA java线程 java线程第3版 java线程第2版第3版合集

    电子书相关:包含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 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程

    Java多线程编程总结

    Java 线程系列博文总结word化,编目如下,欢迎互相学习交流: Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:...

    Java线程模块Java线程之秒表

    Java线程模块Java线程之秒表新手学习Java线程模块时,利用Java中设置线程的暂停间隔,做的简易秒表

    java线程 线程学习资料 java线程教程

    java线程 线程 教程 java线程教程 java线程学习资料 本教程有什么内容? 本教程研究了线程的基础知识— 线程是什么、线程为什么有用以及怎么开始编写使用线程的简单 程序。 我们还将研究更复杂的、使用线程的应用...

    java 线程 dump 分析工具 2.3.3

    java 线程Dump 分析工具: Java的TDA线程转储分析器是一个用于分析Sun Java VM生成的线程转储和堆信息的小型Swing GUI(目前用1.4测试)。它从提供的日志文件中解析线程转储和类直方图。它提供关于发现的线程转储的...

    java线程同步java线程同步

    java线程同步java线程同步java线程同步

    java多线程笔记

    Java线程:概念与原理 2 一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java...

    java线程.pdf

    java线程.pdf java 学习java

    Java雷电游戏,主要用SWING和Java的进程,纯Java代码写的,主要为开发人员对Java线程的认识

    Java雷电游戏,主要用SWING和Java的进程,纯Java代码写的,主要为开发人员对Java线程的认识

    Java的线程和Java AppletJava的线程和Java AppletJava的线程和Java Applet

    Java的线程和Java AppletJava的线程和Java AppletJava的线程和Java AppletJava的线程和Java AppletJava的线程和Java Applet

    Java线程Java线程

    java 线程 新手java 线程 新手java 线程 新手java 线程 新手

    java线程分析工具TDA

    分析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线程入门java线程入门java线程入门java线程入门java线程入门

Global site tag (gtag.js) - Google Analytics