Java中的线程实现是通过继承java.lang.Thread类然后实现run方法;或者通过实现Runnable接口,实现run方法,然后在实例化Thread时传入此Runnable实例作为参数。
如下代码片段 DownloadThread从Thread继承实现run方法下载一个Url:
package hello;
import java.io.IOException;
import org.apache.http.client.*;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
/**
* DownloadThread 从Thread继承,实现run方法
* @author yukaizhao
*
*/
public class DownloadThread extends Thread {
@Override
public void run(){
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://yukaizhao.javaeye.com/");
try {
// Create a response handler
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = client.execute(httpGet,responseHandler);
System.out.println(responseBody);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
如下代码片段,实现Runnable,休眠随机毫秒数,然后输出一行文本
package hello;
import java.util.Random;
/**
* 实现Runnable,实现run方法
* @author yukaizhao
*
*/
public class RunnableImpl implements Runnable {
static int _number = 0;
public void run(){
Random random = new Random();
int sleepMm=random.nextInt(200);
try {
Thread.sleep(sleepMm);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(String.format("I'm %1d thread",++_number));
}
}
如下代码,在main函数中调用线程实现:
package hello;
public class HelloThread {
public static void main(String[] args) throws InterruptedException{
//声明Thread变量
DownloadThread thread = new DownloadThread();
//调用run执行方法
thread.run();
//join等待thread执行完毕的信号
thread.join();
//声明Runnable
Runnable[] impls = new Runnable[5];
//声明Runnable数量相同的线程
Thread[] threads = new Thread[impls.length];
for(int i=0;i<impls.length;i++){
impls[i] = new RunnableImpl();
//将Runnable的实例作为参数传递给Thread的构造函数
threads[i] = new Thread(impls[i]);
//启动线程
threads[i].start();
}
}
}
分享到:
相关推荐
10. **多线程**:Java内置对多线程的支持,通过Thread类或Runnable接口实现并发执行。同步机制如synchronized关键字、wait/notify机制防止并发问题。 11. **网络编程**:Java提供了丰富的网络编程API,如Socket和...
这份"java基础课件"是专为初学者设计的,旨在帮助那些对Java编程不太熟悉的人快速入门并掌握基本概念。 首先,Java的基础知识包括语法结构。在Java中,程序由类(class)组成,类是具有特定属性和行为的对象模板。...
本套"java入门基础课件"旨在为初学者提供全面的Java学习资源,帮助他们掌握编程的基本概念,深入理解Java的核心特性。 首先,我们从基础语法开始。Java的基本语法结构类似于C++和C#,但更加强调类型安全。学习Java...
这份"详细java入门PPT教程"是为初学者精心设计的,旨在帮助新接触Java编程的人快速上手,理解其基本概念和语法,从而轻松步入编程世界。 一、Java语言概述 Java是由Sun Microsystems(现已被Oracle公司收购)于1995...
"java入门学习源码"这个主题对于初学者来说是极为重要的,因为它提供了实践和理解Java编程概念的实操机会。下面将详细介绍Java学习中的关键知识点,以及如何通过源码来深入理解和掌握它们。 1. **基础语法**:Java...
以上只是Java入门的一些核心知识点,实际学习过程中,还会涉及到更多的高级主题,如反射、注解、设计模式、并发编程、JVM内存管理等。这个入门课件将逐步引导初学者掌握这些基础知识,为后续深入学习Java打下坚实的...
Java入门级教程是一个针对初学者精心设计的在线学习资源,旨在帮助那些对编程感兴趣的人们快速掌握Java语言的基础知识。这个教程以Web格式呈现,使得学习过程更加方便、直观,适合在各种设备上进行学习。 Java是一...
14. **多线程**:Java支持多线程编程,理解Thread类和Runnable接口,以及同步机制如synchronized关键字和wait()、notify()方法。 15. **枚举与注解**:枚举用于定义固定的常量集合,注解提供元数据,对代码进行标记...
9. **多线程**:Java支持多线程编程,讲解Thread类、Runnable接口以及线程同步机制,如synchronized关键字和wait/notify机制。 10. **异常处理**:了解Java的异常处理机制,包括try-catch-finally语句块和自定义...
Java入门级PDF文档通常会涵盖一系列基础概念,帮助初学者建立起对这门语言的理解。以下是一些关键知识点的详细介绍: 1. **Java简介**:Java是由Sun Microsystems(现已被Oracle收购)开发的一种高级编程语言,它...
"最好的Java入门基础书"无疑为新手提供了宝贵的资源,帮助他们构建坚实的编程基础。这本书可能包含了Java语言的基本概念、语法、数据类型、控制结构、类与对象等核心主题。 1. **Java语言简介**:Java是一种跨平台...
"Java入门练习50题"旨在帮助新手巩固基础,通过实践加深理解。以下将对这些练习进行详细解释,以期为你的Java学习之旅提供有力的支持。 1. **基础语法** - 变量声明:了解如何声明并初始化各种类型的变量,包括...
"Java 入门入门入门入门入门入门入门入门"这个标题暗示了我们将要探讨的是针对初学者的基础知识,包括如何开始学习Java,理解其基本概念,以及如何编写简单的程序。 Java的基础知识点主要包括以下几个部分: 1. **...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而闻名。"Java基础入门"这个压缩包提供了学习Java编程的基础资源,包括经典的入门书籍源码和JDK11的中文版API文档。 首先,让我们来了解...
在“JAVA入门教程TXT”中,你将学习到以下基础知识: 1. **Java环境搭建**:首先,你需要安装Java Development Kit (JDK)。JDK包含了编译Java源代码所需的Java编译器(javac)、运行Java程序的Java虚拟机(JVM)...
"Java入门实验实例(程序代码加实验报告全)"是一份非常实用的学习资源,旨在帮助初学者快速掌握Java编程基础。这份资料包含了作者在学习Java过程中编写的全部程序和对应的实验报告,对于刚接触Java的人来说,是非常...
### JAVA入门日文版知识点详解 #### 1. クラス(Class) - **クラスの定義**: クラスはオブジェクトの設計図であり、その設計図に基づいてインスタンス(オブジェクト)が生成されます。つまり、クラスはオブジェク...
Java基础入门教程是一份非常适合初学者的教育资源,它引导学习者逐步掌握Java编程语言的核心概念。这份教程可能包含了以下几个关键的知识点: 1. **认识Java**:这部分通常会介绍Java的历史,由Sun Microsystems...
Java入门使用课件可自学可用于教学 本资源是一个Java入门使用课件,旨在帮助学习者快速掌握Java的基本语法和开发环境配置。该课件包含了Java的基础知识点,包括开发环境配置、变量、流程控制、面向对象编程、数组和...