1 import java.lang.Runnable;
2 import java.lang.Thread;
3 import java.util.concurrent.Executors;
4 import java.util.concurrent.ExecutorService;
5 import java.util.concurrent.Future;
6 import java.util.concurrent.ExecutionException;
7
8 class runclass implements Runnable {
9 public static long id = 0;
10
11 public void run(){
12 ++id;
13 System.out.println(id);
14 }
15 }
16
17 class test {
18 public static void main(String[] args) throws InterruptedException, ExecutionException {
19 ExecutorService exec = Executors.newCachedThreadPool();
20 Future result1 = exec.submit(new runclass());
21 Future result2 = exec.submit(new runclass());
22 while (!result1.isDone() || !result2.isDone()){
23 Thread.sleep(1000);
24 break;
25 }
26 exec.shutdown();
27 }
28 }
29
- 浏览: 41186 次
- 性别:
- 来自: 北京
相关推荐
在Android应用开发中,Handler、Runnable和Looper是三个非常重要的组件,它们构成了Android的消息处理机制。这个机制使得UI线程可以非阻塞地处理来自其他线程的消息,从而避免了UI冻结,提升了用户体验。下面我们将...
在Java编程语言中,创建线程有两种主要方式:继承`Thread`类和实现`Runnable`接口。由于Java的单继承特性,当一个类需要继承其他类时,就不能再直接继承`Thread`,这时实现`Runnable`接口就成为创建线程的优选方案。...
### 多线程的Runnable与Thread的区别 在Java中实现多线程有两种主要方式:一种是继承`Thread`类;另一种是实现`Runnable`接口。本文将深入探讨这两种方法的区别,帮助初学者更好地理解并选择适合场景的多线程实现...
`Runnable`接口是Java提供的一个核心机制,用于创建并运行线程。本实例将深入讲解如何使用`Runnable`接口来实现多线程,并通过具体的`TestRunnable.java`源代码进行演示。 一、`Runnable`接口简介 在Java中,`...
"Thread 线程类实现 Runnable 接口" Thread 线程类是 Java 中 Thread 和 Runnable 接口的实现,它提供了线程的基本操作和管理。下面是对 Thread 类的详细介绍: 1. Runnable 接口 Runnable 接口是 Thread 类的...
Java中的Runnable、Callable、Future和FutureTask是Java多线程编程中的核心概念,它们各自扮演着不同的角色,共同协作以实现并发任务的管理和执行。 1. **Runnable**: Runnable是最基本的多线程接口,它只有一个`...
在这个实例中,我们将深入探讨如何在Eclipse V4.2.0环境中,利用`Runnable`接口来实现这个功能。`Runnable`是Java多线程编程的核心组件,它允许我们定义一个可执行的任务,然后在不同的线程上运行。 首先,我们需要...
Java提供了两种主要的方式来创建线程:继承Thread类和实现Runnable接口。本篇文章将深入探讨通过实现Runnable接口来创建线程的方法,以及这种方式相比于直接继承Thread类的优势。 首先,我们来看Runnable接口。在...
大家都知道Runnable和Callable接口都可以作为其他线程执行的任务,但是Runnable接口的run方法没有返回值,而Callable接口的call方法有返回值,那么Callable接口是如何做到的呢?在此我给出一个Demo,看看通过...
在Android开发中,`Runnable`和`Handler`是两种常用且关键的组件,它们在创建异步任务和处理UI更新方面发挥着重要作用。本示例的`android demo`旨在演示如何利用`Runnable`和`Handler`来实现一个每3秒执行一次的任务...
在Java中,有两种主要的方法来创建线程:通过继承`Thread`类和实现`Runnable`接口。本篇文章将深入探讨如何使用`Runnable`接口创建线程,并与`Thread`类创建线程的方式进行比较。 首先,我们来看`Runnable`接口。`...
在Java编程语言中,多线程的实现有多种方式,其中最常见的是通过继承`Thread`类和实现`Runnable`接口。这两种方法各有其特点和适用场景,理解它们之间的区别对于编写高效、可维护的多线程应用至关重要。 ### 继承...
本篇将基于`Runnable`接口提供一个简单的多线程下载示例,帮助开发者理解如何在Android中实现这一功能。 首先,我们要明白在Android中,主线程(UI线程)负责处理用户交互和更新界面,因此,长时间的网络请求或计算...
在Java中,实现多线程的两种主要方式分别是:**通过继承`Thread`类** 和 **实现`Runnable`接口**。下面将详细介绍这两种方式,并提供相应的示例程序。 #### 一、通过继承`Thread`类实现多线程 在Java中,可以通过...
本篇文章将深入探讨如何利用`Thread`类和`Runnable`接口来实现阶乘计算的多线程解决方案。阶乘计算是数学中的一个概念,对于非负整数n,其阶乘表示为所有小于等于n的正整数的乘积,记作n!。 首先,我们来看如何使用...
"implements Runnable"是Java编程语言中的一个重要概念,它与多线程编程紧密相关。在Java中,线程是程序执行的最小单位,而创建线程主要有两种方式:继承Thread类和实现Runnable接口。本项目是一个Java小游戏,核心...
相比之下,实现`Runnable`接口的方式更加灵活,适用于大多数情况,特别是当一个类已经继承了另一个类的情况下。 #### 六、线程死锁 线程死锁是指两个或多个线程在执行过程中因争夺资源而造成的一种互相等待的现象...
声明自定义线程类实现Runnable接口实现奇数/偶数序列线程并发执行。
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。