`
javadev_zjj
  • 浏览: 1509 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Java中多线程原理详解

    博客分类:
  • java
阅读更多
学过Java的人都知道,Java是少数的集中支持多线程的语言之一,大多数的语言智能运行单独的一个程序块,无法同时运行不同的多个程序块,Java的多线程机制弥补了这个缺憾,他可以让不同的程序块一起运行,这样可以让程序运行更加顺畅,同时也达到了多任务处理的目的:
  一、线程和进程的概念
  现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。
  进程是程序的一个动态执行过程,是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。“同时”执行是人的感觉,在线程之间实际上轮换执行。
  二、Java中线程的实现
  在Java中药想实现多线程有两种手段,一种是集成Thread类,另一种就是实现Runnable接口。下面看继承自Thread类线程的创建原理:
  首先定义一个线程类 该类必须继承自Thread类,同时必须明确的覆写run()方法
  如: class MyThread extends Thread{
  public void run(){ //覆写Thread类中的run方法此方法是线程中
  线程主体; 的主体
  }
  然后定义一个主类,实例化线程类的对象,发动启动线程的命令
  如: public class ThreadText{
  public stataic void main(String args[]){
  MyThread m1=new MyThread();//实例化对象
  m1.start();//启动多线程
  }
  };
  实现Runnable接口:
  首先定义一个线程类继承自Runnable接口
  如: class MyThread implements Runnable{
  public void run(){ //覆写Runnable接口中的run方法
  线程主体;
  }
  然后定义一个主类,实例化线程类的对象,发动启动线程的命令
  如: public class ThreadText{
  public stataic void main(String args[]){
  MyThread m1=new MyThread();//实例化Runnable子类对象
  Thread t1=new Thread(m1);//实例化Thread类对象
  t1.start();//启动多线程
  }
  };
  三、线程的几种状态
  在Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。
  第一是创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。
  第二是就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。
  第三是运行状态。线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代码。
  第四是阻塞状态。线程正在运行的时候,被暂停,通常是为了等待某个时间的发生(比如说某项资源就绪)之后再继续运行。sleep,suspend,wait等方法都可以导致线程阻塞。
  第五是死亡状态。如果一个线程的run方法执行结束或者调用stop方法后,该线程就会死亡。对于已经死亡的线程,无法再使用start方法令其进入就绪。
分享到:
评论

相关推荐

    Java中多线原理详解.doc

    ### Java中多线程原理详解 #### 一、线程与进程的概念 现代操作系统支持多任务处理,其中多线程是一种实现多任务的有效方式。进程是程序在一个动态环境下的执行实例,代表了一个内存中运行的应用程序。每个进程...

    多线程原理详解

    本篇将深入探讨多线程的原理及其在Java中的应用。 首先,我们需要理解什么是线程。线程是操作系统分配CPU时间的基本单位,每个线程都有自己的程序计数器、寄存器和栈空间,共享同一块内存区域。在Java中,线程有两...

    JAVA多线程模型详解

    本文将深入探讨Java多线程模型的相关知识点,包括线程与进程的区别、线程的实现原理、线程的创建方法以及线程的阻塞与唤醒机制等,旨在为初学者提供一个清晰的多线程概念理解和使用指南。 一、线程与进程的区别 在...

    java中的多线程实例详解(自己去运行看结果)

    本文将深入探讨Java多线程的实例,帮助读者理解其工作原理和实际应用。 首先,我们需要了解线程的基本概念。在Java中,线程是程序的单一顺序控制流,每个线程都有自己的程序计数器、虚拟机栈、本地方法栈和一部分堆...

    JAVA多线程编程详解

    ### JAVA多线程编程详解 #### 一、深入理解多线程 多线程机制是现代编程语言中处理并发操作的关键技术之一,尤其在资源密集型应用和提高系统响应速度方面发挥着重要作用。在Java中,多线程的实现不仅简化了并发...

    java多线程分页查询

    ### Java多线程分页查询知识点详解 #### 一、背景与需求分析 在实际的软件开发过程中,尤其是在处理大量数据时,如何高效地进行数据查询成为了一个关键问题。例如,在一个用户众多的社交平台上,当用户需要查看...

    java 多线程 同步详解

    Java多线程同步详解 在Java编程中,多线程是一种常见的并发执行方式,它可以提高程序的执行效率,充分利用CPU资源。然而,多线程环境下数据的安全性问题不容忽视,这就引出了Java中的同步机制。本文将深入探讨Java...

    Java 多线程编程详解.pdf

    总之,《Java多线程编程详解》这份PDF文档全面覆盖了Java多线程编程的核心内容,无论你是初学者还是有经验的开发者,都能从中受益。通过学习,你可以更好地理解和掌握如何在Java中有效地利用多线程,提升程序的性能...

    java 多线程编程实战指南(核心 + 设计模式 完整版)

    通过学习《Java多线程编程实战指南》,开发者不仅可以理解多线程的基本概念,还能掌握如何在实际项目中运用多线程技术,提升程序的并发性能和稳定性。无论是初级开发者还是经验丰富的工程师,这本书都是一本值得阅读...

    Java多线程编程深入详解

    标题《Java多线程编程深入详解》所涉及的知识点涵盖了Java多线程编程的核心思想、原理以及在实际开发中可能遇到的问题和解决方案。以下是对这些知识点的详细阐述: 1. 多进程与多线程概念的区分和理解 - 进程是...

    Java多线程编程详解

    Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,多线程的实现主要依赖于`Thread`类和`Runnable`接口。下面我们将深入探讨这个领域的关键概念、...

    Java 多线程编程详解

    Java多线程编程是Java开发中的重要组成部分,它允许...Java多线程编程需要深入理解并发原理,并在实践中不断优化,以应对复杂的并发场景。通过阅读《Java多线程编程详解.pdf》这样的资料,可以系统学习和掌握这些知识。

    java多线程设计模式详解(PDF及源码)

    通过阅读提供的“java多线程设计模式详解”PDF文档,开发者可以深入了解各种模式的原理和应用场景,结合源码进行实践,有助于提升多线程编程能力。同时,“ajava注释.txt”可能包含了对源码的详细解释,而“ajava....

    java多线程.pdf

    ### Java多线程知识点详解 #### 一、Java多线程概述 **Java多线程**是指在Java程序中能够同时执行多个线程的技术。这种技术使得程序可以在多个任务之间并发执行,从而提高了程序的效率和资源利用率。本文将根据...

    java多媒体与多线程处理实验

    ### Java多媒体与多线程...通过本次实验,学生不仅掌握了Java多线程编程的基础知识,还学会了如何利用多线程优化程序性能,特别是在多媒体应用领域,如动画、音视频处理等,为后续更复杂的应用开发奠定了坚实的基础。

    java多线程学习资料

    本文将深入探讨Java多线程的基础概念、基本原理及其在实践中的应用。 #### 二、核心概念 - **进程**: 是操作系统中的一个独立执行单元,拥有自己的内存空间。在多任务操作系统中,可以同时运行多个进程。 - **线程*...

    java多线程教程 java多线程教程

    Java多线程教程详解 Java多线程是Java编程中不可或缺的一部分,它允许程序同时执行多个任务,提高程序效率和响应速度。理解并熟练运用Java的多线程机制是成为一个专业Java开发人员的关键技能。 一、线程的概念与...

    java+多线程+同步详解Java源码

    Java多线程与同步是Java编程中的核心概念,它们在构建高效、响应迅速的应用程序时起着至关重要的作用。在Java中,多线程允许同时执行多个代码段,从而提高程序的执行效率,特别是在处理I/O密集型或计算密集型任务时...

    Java多线程设计模式(带源码)

    通过阅读提供的"Java多线程设计模式详解.pdf"和"Java多线程设计模式上传文件",开发者可以深入学习这些模式的原理、实现方式以及实际应用场景,从而在实际工作中更好地运用多线程设计模式,提升软件的并发性能和质量...

Global site tag (gtag.js) - Google Analytics