这里写了一个小例子,学习一下线程实现的两种方式(继承自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是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是具有简单性、面向...因此,对Java的初步认识和首个应用程序的发布是每个Java程序员的必经之路。
书中首先对Java语言的基础知识进行了详细介绍,这包括Java的核心概念、基础语法和基本结构,旨在让读者能够对Java语言有一个初步的认识和理解。之后,书中通过具体的实例,对Java语言进行了系统化的讲解,帮助读者更...
通过这五个礼拜的实习,实习生不仅掌握了Java编程的基础和高级知识,也锻炼了实际问题解决能力,对软件开发流程有了初步认识。这为他们后续的学习和职业生涯打下了坚实的基础。在实习过程中,不断挑战自我,适应新...
│ 高并发编程第一阶段28讲、线程生产者消费者的综合实战结合Java8语法.mp4 │ 高并发编程第一阶段29讲、如何实现一个自己的显式锁Lock精讲上.mp4 │ 高并发编程第一阶段30讲、如何实现一个自己的显式锁Lock精讲...
在编程领域,多线程是实现并发执行...通过以上介绍,希望能为初学者提供一个多线程的初步认识。在实际开发中,多线程的运用远不止这些,还需要考虑线程安全、死锁等问题。不断学习和实践,才能更好地掌握多线程技术。
【描述】:“适当初入门的人学习JAVA,对J2SE有个初步认识和了解”这部分说明了这个资源是为Java初学者设计的,特别适合那些刚开始接触编程或者对Java没有基础的人群。J2SE是Java平台的标准版,包含了编写...
* 实验目的:掌握 Java 开发工具的安装和配置,初步认识 Java 程序的编写。 * 实验步骤: 1. 安装 JDK 和配置 Java 环境变量。 2. 手工输入两个课堂中的程序,能顺利运行并输出结果。 * 实验结果分析:通过这次...
"程序的编写,为初学者建立初步认识。 2. **第02章_Java基本语法.pptx**:这一章深入讲解Java的基础语法,包括数据类型、变量、运算符、流程控制(如if-else,switch,for,while等),以及方法的定义和调用,这些...
1. **线程与并发基础**:介绍Java线程的创建与管理,包括`Thread`类的使用、线程池的配置与管理,以及如何通过`Runnable`和`Callable`接口来实现并发任务。 2. **并发工具类**:详细讲解了`java.util.concurrent`...
在书中,作者们首先会讲解Java网络编程的基本概念,包括网络模型、IP地址、端口号等基础知识,使读者对网络通信有初步认识。然后,他们会深入探讨Java的Socket编程,这是实现客户端-服务器通信的关键技术,读者将...
- 《Java程序设计》01 第一天 上午 和下午的课程介绍了Java编程的基础概念,包括Java环境的搭建、语法特性、数据类型、控制结构(如if语句和循环)、方法定义以及类与对象的初步认识。这些是Java学习的基石,为后续...
1. **Java简介**:介绍Java的历史、特点、应用领域以及与其它编程语言的对比,使学习者对Java有一个初步认识。 2. **环境配置**:讲解如何安装Java Development Kit (JDK) 和设置环境变量,为后续开发工作奠定基础...
Java简易基础(速成版)课程...通过这个速成版的Java简易基础课程,你可以快速建立起对Java编程的初步认识,并具备基本的编程能力。然而,Java语言的深度和广度远不止于此,深入学习和实践将是持续提升编程技能的关键。
13. **Java EE基础**:对Java企业版(Java EE)有一个初步认识,了解Servlet和JSP的基础知识,为Web开发打下基础。 通过《Head First Java 中文版》的深入阅读和实践,初学者不仅能够掌握Java编程语言的基本技能,...
此外,对Java类库、I/O操作、多线程编程、网络编程、Java集合框架等也有初步的认识和应用能力。 这本书对于那些希望掌握Java编程,了解其背后的原理和技术发展的初学者来说,是一本非常实用的入门教材。通过本书的...
通过学习这些基础知识,读者可以建立起对面向对象编程的初步认识。 类和对象是Java的核心,书中详细讲解了如何定义类、创建对象、封装数据、以及类的继承和多态性。对于面向对象编程的三大特性——封装、继承和多态...
2. **快速总结(Quick summary)**:对lambda表达式的基本概念进行一个快速的概述,让读者对这个新特性有一个初步的认识。 3. **新选项:Lambda表达式(New option: Lambdas)**:详细讲解lambda表达式的概念、基本...
1. **Java基础**:Java语言的基础包括数据类型(如整型、浮点型、字符型和布尔型)、变量、运算符、流程控制(如if语句、switch语句、for循环、while循环等)、方法定义和调用,以及类和对象的初步认识。 2. **面向...