`

Java的线程的实现

阅读更多

线程与进程是类似的,像所有的顺序执行的程序一样,线程也有开头,一系列执行语句和结尾。所不同的是,线程本身不是程序,不能单独运行,它只能在一个程序中运行。线程的所有活动都是通过线程run()方法来实现的。[b]在一个线程被建立并初始化以后,Java运行时系统就自动调用run()方法,所以实现线程的核心是实现run()方法,它也是线程的起始点,就如同我们一个进程的mainclass MyThread extends Thread//按照说明,首先继承Thread
{
    private long sleepTimer;
    public MyThread(String str)
    {
        super(str);//这个是Thread类的一个构造函数,可以构造一个以str为名字的线程
    }
    public void run()//覆盖父类的run方法作为线程的起始点。
    {
            for(int i=0;i<3;i++)
            {
                System.out.println(getName()+" = "+ i);   
                try
                {
                    sleepTimer=(long)(Math.random()*1000);
                    sleep(sleepTimer);
                    System.out.println(getName()+" sleep: "+sleepTimer+" ms");   
                }
                catch(InterruptedException e)
                {}
            }
           
            System.out.println(getName()+" finished");
    }
}

public class ThreadTest
{
    public static void main(String[] args)
    {
        new MyThread("Thread1").start();
        new MyThread("Thread2").start();   
    }   
}

这个例子中,类ThreadTest的main方法中构造了两个
ThreadTest类的实例,一个Thread1,另外一个是Thread2,并且创建之后马上调用start方法来启动这两个线程。类MyThread是Thread类的一个子类,它首先定义了一个构造函数,其中参数为字符串类型,它的作用就是给线程取名字。类Thread中的第二个方法是run方法,它重写覆盖了父类的run方法,run方法中使一个三次的循环,每次循环中显示当前正在运行的线程名和循环的次数,然后睡眠一个随机产生的时间间隔,并实现睡眠时间。
程序中所用到JDK中的函数有:
getName()得到线程名
sleep() 睡眠一段时间

方法一样。[/b]线程是由操作系统决定的。操作系统会决定给某个线程所应操作的时间片。

分享到:
评论

相关推荐

    Java线程实现分析.pdf

    Java 线程实现分析 Java 线程技术是提高程序执行速度的重要手段,通过实现多线程技术,可以使多个过程并发执行,提高程序执行效率。在多处理器的计算机上,每个线程都可以竞争自己的处理器及其他资源为自己服务,...

    JAVA 线程实现数据库的主从同步更新

    在Java编程环境中,...总之,使用Java线程实现数据库主从同步更新是一种常见且实用的技术手段,它涉及到多线程编程、数据库操作、事务管理等多个方面。理解和掌握这些知识点对于开发高可用性的分布式系统至关重要。

    java多线程实现动画功能

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

    随机点名程序(java线程实现)

    随机点名程序是一种基于Java开发的桌面应用,它利用了Java Swing库来构建用户界面,并通过线程技术实现动态的点名效果。该程序旨在提供一个有趣且吸引人的点名方式,不仅有基本的随机选取功能,还增加了视觉和听觉的...

    java线程:两种传统的实现方式.zip

    本文将深入探讨两种传统的Java线程实现方式,并通过一个具体的例子来阐述如何创建和管理这些线程。 首先,我们来看第一种线程实现方式:继承`Thread`类。当你创建一个新的类继承自`java.lang.Thread`,你可以重写它...

    Java线程实现与安全

    Java线程实现与安全在Java编程中至关重要,因为并发处理是多任务并行执行的基础,尤其是在服务器端应用和高并发场景。线程的实现主要有三种方式: 1. 内核线程(Kernel Thread,KLT)实现:内核线程是由操作系统...

    线程 JAVA java线程 java线程第3版 java线程第2版第3版合集

    电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...

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

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

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

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

    java多线程文件传输

    - **Java线程实现方式**:通过实现`Runnable`接口或继承`Thread`类创建线程。推荐使用`Runnable`,因为它可以避免单继承的限制,更符合面向对象设计原则。 2. **多线程的创建与启动** - **创建线程**:创建`...

    java多线程模拟队列实现排队叫号

    在Java编程中,多线程技术常常用于模拟现实世界中的并发场景,比如模拟排队叫号系统。这个系统可以通过创建多个线程来代表等待服务的客户,一...在这个过程中,我们学习了线程同步、队列操作以及如何在Java中实现线程。

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

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

    java多线程进度条

    本主题将深入探讨如何在Java多线程环境下实现进度条功能。 首先,理解Java多线程的基本概念至关重要。Java通过Thread类和Runnable接口来支持多线程。创建一个新线程通常有两种方式:继承Thread类并重写run()方法,...

    java线程.pdf

    Java线程是Java编程中非常重要的一个概念,它可以帮助开发者实现多任务并行处理,提高程序的执行效率。理解线程的创建、生命周期管理以及线程间的同步和通信机制对于开发高质量的Java应用至关重要。希望以上内容能够...

    Java线程详解大全

    Java线程是并发编程的核心部分,它允许程序在同一时间执行多个独立的任务,从而提高系统效率和响应速度。本文将深入探讨Java线程的概念、生命周期、实现方式以及相关的同步机制。 首先,理解线程的基本概念至关重要...

    java多线程实现动画

    java 多线程实现动画控制

    Java多线程知识点总结

    Java提供了多种机制来保证线程安全,比如使用synchronized关键字来同步方法或代码块,实现线程之间的同步。当一个线程试图进入一个已经被另一个线程持有的同步代码块时,它将进入阻塞状态,直到同步代码块的执行线程...

    java实现多线程文件传输

    在Java编程语言中,实现多线程文件传输是一种优化程序性能、提高系统资源利用率的有效方法。多线程允许我们同时处理多个任务,这对于大文件传输或需要并行处理的场景尤其有用。本篇文章将深入探讨如何使用Java实现多...

    Java多线程实现生产者消费者

    为了实现多个线程,我们可以使用`Thread`类或者`java.util.concurrent.ExecutorService`,后者提供了更高级的线程池管理功能。 ```java public class Producer implements Runnable { private Warehouse warehouse...

    Java线程.ppt

    Java线程是Java编程中的重要概念,特别是在多核处理器和并发处理中不可或缺。Java线程允许程序在同一时间执行多个不同的任务,从而提高了程序的效率和响应性。在燕山大学信息学院计算机系的课程中,李峰教授讲解了...

Global site tag (gtag.js) - Google Analytics