`
wangking717
  • 浏览: 262498 次
  • 性别: 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编程的深刻认识,并在实践中不断提升自己的编程技能。

    1java认识与首个应用程序发布

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是具有简单性、面向...因此,对Java的初步认识和首个应用程序的发布是每个Java程序员的必经之路。

    汪文君高并发编程实战视频资源下载.txt

    │ 高并发编程第一阶段28讲、线程生产者消费者的综合实战结合Java8语法.mp4 │ 高并发编程第一阶段29讲、如何实现一个自己的显式锁Lock精讲上.mp4 │ 高并发编程第一阶段30讲、如何实现一个自己的显式锁Lock精讲...

    java2参考大全

    书中首先对Java语言的基础知识进行了详细介绍,这包括Java的核心概念、基础语法和基本结构,旨在让读者能够对Java语言有一个初步的认识和理解。之后,书中通过具体的实例,对Java语言进行了系统化的讲解,帮助读者更...

    Java实习周报通用25篇

    通过这五个礼拜的实习,实习生不仅掌握了Java编程的基础和高级知识,也锻炼了实际问题解决能力,对软件开发流程有了初步认识。这为他们后续的学习和职业生涯打下了坚实的基础。在实习过程中,不断挑战自我,适应新...

    多线程起步,总结的,一些方法的使用,简单的列子,使用方法

    在编程领域,多线程是实现并发执行...通过以上介绍,希望能为初学者提供一个多线程的初步认识。在实际开发中,多线程的运用远不止这些,还需要考虑线程安全、死锁等问题。不断学习和实践,才能更好地掌握多线程技术。

    谭浩强JAVA幻灯片

    【描述】:“适当初入门的人学习JAVA,对J2SE有个初步认识和了解”这部分说明了这个资源是为Java初学者设计的,特别适合那些刚开始接触编程或者对Java没有基础的人群。J2SE是Java平台的标准版,包含了编写...

    JAVA上机实验.pdf

    * 实验目的:掌握 Java 开发工具的安装和配置,初步认识 Java 程序的编写。 * 实验步骤: 1. 安装 JDK 和配置 Java 环境变量。 2. 手工输入两个课堂中的程序,能顺利运行并输出结果。 * 实验结果分析:通过这次...

    JAVA南邮大学珍藏资源

    "程序的编写,为初学者建立初步认识。 2. **第02章_Java基本语法.pptx**:这一章深入讲解Java的基础语法,包括数据类型、变量、运算符、流程控制(如if-else,switch,for,while等),以及方法的定义和调用,这些...

    Java.9.Concurrency.Cookbook.2nd.Edition

    1. **线程与并发基础**:介绍Java线程的创建与管理,包括`Thread`类的使用、线程池的配置与管理,以及如何通过`Runnable`和`Callable`接口来实现并发任务。 2. **并发工具类**:详细讲解了`java.util.concurrent`...

    精通Java网络编程第二版

    在书中,作者们首先会讲解Java网络编程的基本概念,包括网络模型、IP地址、端口号等基础知识,使读者对网络通信有初步认识。然后,他们会深入探讨Java的Socket编程,这是实现客户端-服务器通信的关键技术,读者将...

    JAVA项目前准备资料

    - 《Java程序设计》01 第一天 上午 和下午的课程介绍了Java编程的基础概念,包括Java环境的搭建、语法特性、数据类型、控制结构(如if语句和循环)、方法定义以及类与对象的初步认识。这些是Java学习的基石,为后续...

    java学习PDF下载地址全 百度云盘下载

    1. **Java简介**:介绍Java的历史、特点、应用领域以及与其它编程语言的对比,使学习者对Java有一个初步认识。 2. **环境配置**:讲解如何安装Java Development Kit (JDK) 和设置环境变量,为后续开发工作奠定基础...

    JAVA简易基础(速成版)

    Java简易基础(速成版)课程...通过这个速成版的Java简易基础课程,你可以快速建立起对Java编程的初步认识,并具备基本的编程能力。然而,Java语言的深度和广度远不止于此,深入学习和实践将是持续提升编程技能的关键。

    head first java 中文版

    13. **Java EE基础**:对Java企业版(Java EE)有一个初步认识,了解Servlet和JSP的基础知识,为Web开发打下基础。 通过《Head First Java 中文版》的深入阅读和实践,初学者不仅能够掌握Java编程语言的基本技能,...

    java程序设计基础.pdf

    此外,对Java类库、I/O操作、多线程编程、网络编程、Java集合框架等也有初步的认识和应用能力。 这本书对于那些希望掌握Java编程,了解其背后的原理和技术发展的初学者来说,是一本非常实用的入门教材。通过本书的...

    Java2实用教程(第三版)_附源码_课件

    通过学习这些基础知识,读者可以建立起对面向对象编程的初步认识。 类和对象是Java的核心,书中详细讲解了如何定义类、创建对象、封装数据、以及类的继承和多态性。对于面向对象编程的三大特性——封装、继承和多态...

    java 8 lambda- expressions 学习资料,例子。练习 java example

    2. **快速总结(Quick summary)**:对lambda表达式的基本概念进行一个快速的概述,让读者对这个新特性有一个初步的认识。 3. **新选项:Lambda表达式(New option: Lambdas)**:详细讲解lambda表达式的概念、基本...

    Thinking in Java(pdf+chm).zip

    1. **Java基础**:Java语言的基础包括数据类型(如整型、浮点型、字符型和布尔型)、变量、运算符、流程控制(如if语句、switch语句、for循环、while循环等)、方法定义和调用,以及类和对象的初步认识。 2. **面向...

Global site tag (gtag.js) - Google Analytics