`
H小阿飞
  • 浏览: 279692 次
  • 性别: Icon_minigender_1
  • 来自: 南通
社区版块
存档分类
最新评论

线程的实现

 
阅读更多

  1. 继承 Thread  

 

package main.thread;

public class Machine extends Thread{

    public void run(){

       for(int a=0; a<10; a++){

           System.out.println(currentThread().getName()+":"+a);

           try{

              sleep(100);      //给其他线程运行的机会,这样machine1与machine2线程属于分时调度模式

           }catch(InterruptedException e){

              throw new RuntimeException(e);

           }

       }

    }

    public static void main(String[] args){

       System.out.println(currentThread().getName());  //该主线程

       Machine machine1 = new Machine();

       Machine machine2 = new Machine();     

       machine1.start();    //启动第一个Machine线程

       machine2.start();     //启动第二个Machine线程

    }

}
 

 

  2. 实现 Runable 接口

    Java 不允许一个类继承多个类,因此一旦一个类继承了 Thread 类,就不能再继承其他的类。为了解决这一问题, Java 提供了 java.lang.Runnale 接口,它有一个 run() 方法 ,定义如下:

   public void run();  

 

package main.thread;

public class Machine implements Runnable{

    @Override

    public void run() {

       // TODO Auto-generated method stub

       for(int a=0; a<10; a++){

       System.out.println(Thread.currentThread().getName()+":"+a);

       try{

           Thread.sleep(100);

       }catch(InterruptedException e){

           throw new RuntimeException(e);

       }

      }

    }

    public static void main(String[] args){

       Machine machine = new Machine();

       Thread t1 = new Thread(machine);

       Thread t2 = new Thread(machine);

       t1.start();

       t2.start();

    }

}

  

 

注: Thread 类中定义了如下形式的构造方法:

Thread(Runnable runnable)    // 当线程启动时,讲执行参数 runnable 所引用对象的 run() 方法

 

1
3
分享到:
评论

相关推荐

    PB多线程实现

    一、PB9的多线程实现 在PB9中,虽然官方并未直接支持多线程,但开发者可以通过使用Windows API函数来实现。一种常见的方式是创建一个新的窗口类,该窗口类在不同的线程上运行。通过调用如CreateThread或BeginThread...

    Android----线程实现图片移动

    在Android开发中,图片动态...通过分析和学习这个示例,你可以更好地理解和掌握如何在Android中利用线程实现图片的动态效果。在实际开发中,可以根据具体需求进行调整,例如添加动画的缓动函数以实现更平滑的移动效果。

    MFC中利用多线程实现定时器

    以上就是MFC中利用多线程实现定时器的基本步骤。这种方法的优点是可以避免因`ontimer`事件阻塞主线程,使得程序更加响应。当然,实际开发中还需要考虑线程安全、资源管理等问题,确保代码的稳定性和效率。通过不断...

    c#编写串口通讯代码 多线程实现.rar_c# 串口多线程_c#编写串口通讯代码多线程实现_young5op_串口_串口通讯

    c#编写串口通讯代码多线程实现,逻辑与界面分离。发送与接收都为单独线程

    java多线程实现大批量数据导入源码

    本项目以"java多线程实现大批量数据导入源码"为题,旨在通过多线程策略将大量数据切分,并进行并行处理,以提高数据处理速度。 首先,我们需要理解Java中的线程机制。Java通过`Thread`类来创建和管理线程。每个线程...

    C# 通过委托和线程实现chart控件的实时更新

    C# 通过委托和线程实现 Chart 控件的实时更新 在 C# 编程中,实现 Chart 控件的实时更新是一个常见的需求。为此,我们可以使用委托(Delegate)和线程(Thread)来实现这个功能。在本文中,我们将详细介绍如何使用...

    线程实现定时器的多种功能

    本篇文章将深入探讨如何利用线程实现一个定时器类,以实现定时、相对定时和周期定时执行的功能。 首先,我们需要理解C++中的线程库。C++11及后续标准引入了`&lt;thread&gt;`库,提供了对多线程的支持。通过创建和管理线程...

    java多线程实现TCP连接UDP聊天的聊天程序

    java多线程实现TCP连接UDP聊天的聊天程序

    多线程实现ftp客户端程序

    在本项目中,“多线程实现ftp客户端程序”是核心主题,它涉及到如何利用多线程技术来构建一个功能丰富的FTP(File Transfer Protocol)客户端。FTP是一种网络协议,用于在互联网上进行文件传输,而多线程的引入则...

    多线程实现的模拟QQ程序

    《多线程实现的模拟QQ程序详解》 在计算机编程领域,多线程技术是一种重要的并发执行机制,它允许多个任务在同一时刻运行,极大地提高了程序的效率和响应性。本篇文章将深入探讨如何利用多线程技术实现一个模拟QQ...

    多线程实现动态数组的相乘

    本文将深入探讨如何利用多线程实现动态数组的相乘,这是一项涉及并行计算的重要技能,尤其适用于处理大规模数据集或进行高性能计算。 ### 多线程实现动态数组相乘 在多线程环境中,通过将任务分解成多个子任务并...

    多线程实现的五种不同排序

    在本资源中,"多线程实现的五种不同排序"提供了VC++(Visual C++)源码,这对于学习多线程编程以及数据结构排序的初学者来说是一个很好的实践材料。下面将详细介绍这五个不同的排序算法及其在多线程环境下的实现。 ...

    用Java多线程实现数据结构算法动态演示.pdf

    ### Java多线程实现数据结构算法动态演示知识点 #### 1. 多线程简介 - **程序、进程和线程的区别**: - **程序**是静态的代码序列,它是执行过程的蓝图,本身不执行操作。 - **进程**是程序的动态执行过程,涉及...

    Linux 多线程实现生产者消费者模式.pdf

    Linux多线程实现生产者消费者模式涉及到操作系统中的多个重要知识点,包括多线程编程、生产者消费者模型、互斥量、条件变量等。在Linux环境下,这些功能可以通过POSIX线程(pthread)库来实现。下面详细解释这些知识...

    Java多线程之定时任务 以及 SpringBoot多线程实现定时任务——异步任务

    1. SpringBoot 自定义线程池以及多线程间的异步调用(@Async、@EnableAsync) 2.Java多线程之定时任务 以及 SpringBoot多线程实现定时任务 3.@EnableScheduling 与 @Scheduled

    Linux 线程实现分析

    ### Linux线程实现分析 #### 一、基础知识:线程和进程 - **进程与线程的概念**:根据传统定义,进程是系统进行资源分配和调度的基本单位,而线程则是程序执行的基本单位。进程拥有独立的地址空间和其他资源,线程...

    C++ builder 下使用API函数利用多线程实现串口通信源程序

    C++ builder 下使用API函数利用多线程实现串口通信源程序,代码详细,有注释,是初学者的极佳的参考资料。

    mybaits 多线程 实现数据批量插入 (运用CountDownLatch实现闭锁)

    本文将详细介绍如何利用MyBatis结合多线程和CountDownLatch闭锁来实现数据的批量插入。 首先,我们来看`mybatis批处理`。MyBatis的批处理功能允许我们在一次数据库连接中执行多条SQL语句,从而减少了数据库连接的...

    Java多线程实现异步调用实例

    在本实例中,我们将深入探讨如何使用Java实现多线程以实现异步调用,并理解其背后的机制。 首先,多线程允许一个程序同时执行多个任务。在Java中,我们可以通过继承`Thread`类或实现`Runnable`接口来创建线程。在这...

    java多线程实现动画功能

    java一些简单的多线程用法,适合初学者

Global site tag (gtag.js) - Google Analytics