`

Java线程基本概念

阅读更多

进程、线程、并发执行:

 

在操作系统中两个比较容易混淆的概念是进程(process)和线程(thread)。

 

操作系统中的进程是资源的组织单位。进程有一个包含了程序内容和数据的地址空间,以及其它的资源,包括打开的文件、子进程和信号处理器等不同进程的地址空间是互相隔离的

 

线程表示的是程序的执行流程,是CPU调度的基本单位。线程有自己的程序计数器、寄存器、栈和帧等。引入线程的动机在于操作系统中阻塞式I/O的存在。当一个线程所执行的I/O被阻塞的时候,同一进程中的其它线程可以使用CPU来进行计算。这样的话,就提高了应用的执行效率。线程的概念在主流的操作系统和编程语言中都得到了支持。

 

对于单核的CPU,处理多个任务时。并不会同时真正的运两个以上的程序,实际上是操作系统负责对处理器就是CPU等资源进行分配组织和管理。实际上每一时刻只能做一件事,或者运行某一个程序。由于在操作系统的管理下,CPU的处理功能被以非常小的时间间隔进行划分、进行交替,每一个小的时间间隔我们称为时间片。当时间片到期之后将去执行下一个程序。由于交替的速度非常的快,这样就给人一种同时运行多个应用程序或者同时做多件事的一种感觉。这种情况我们称为并发执行。也就是假的,模拟的,通过快速的交替,表现成在同时做多件事。

 

并行执行才是真正意义上的同一时刻做多个事情,同一个瞬间运行不同的应用程序。这样就要求有多个CPU。支持程序并发运行的操作系统我们称为多任务的操作系统或者说是多进程的操作系统。

 

分享到:
评论

相关推荐

    java深度历险

    JAVA线程基本概念 16 可见性 17 JAVA中的锁 18 JAVA线程的同步 19 中断线程 20 参考资料 20 JAVA垃圾回收机制与引用类型 22 JAVA垃圾回收机制 22 JAVA引用类型 23 参考资料 27 JAVA泛型 28 类型擦除 28 实例分析 29 ...

    java多线程ppt

    java多线程PPT 多线程基本概念 创建线程的方式 线程的挂起与唤醒 多线程问题

    计算机后端-Java-Java核心基础-第20章 多线程 02. 复习:IDEA使用与多线程基本概念.avi

    计算机后端-Java-Java核心基础-第20章 多线程 02. 复习:IDEA使用与多线程基本概念.avi

    Java线程详解.ppt

    为了解决这一问题,于是产生并引入了线程概念。 一个进程中可以包含一个或多个线程,一个线程就是程序内部的一条执行线索。 在单线程中,程序代码按调用顺序依次往下执行,不能实现两段程序代码同时交替运行的...

    Java多线程编程实战指南(核心篇)

    Java多线程编程实战指南...本书以基本概念、原理与方法为主线,辅以丰富的实战案例和生活化实例,并从Java虚拟机、操作系统和硬件多个层次与角度出发,循序渐进、系统地介绍Java平台下的多线程编程核心技术及相关工具。

    Java多线程编程技术

    《Java多线程编程核心技术》建议猿友们读两遍,因为其写得没有那么抽象,第一遍有些概念不是很理解,可以先跳过并记录起来,第一遍阅读的目的主要是了解整个架构。第二遍再慢慢品味,并贯穿全部是指点来思考,并将...

    java线程安全性总结

    用思维导图将Java线程安全性相关基本概念联系起来

    java多线程教程

    本教程主要讲解了java多线程的基本概念,多线程与单线程的区别,线程同步,线程死锁等内容

    线程的基本概念、线程类、任务类、线程优先级、sleep()方法、yield()方法、join方法、interrupt()方法

    线程的基本概念、线程类、任务类、线程优先级、sleep()方法(休眠)、yield()方法(礼让)、join方法(合并)、interrupt()方法(中断),线程的生命周期 线程 与 进程 的关系:**有一个进程中至少包含一个线程 **...

    java多线程编程实战指南 核心篇 代码

    《Java多线程编程实战指南(核心篇)》以基本概念、原理与方法为主线,辅以丰富的实战案例和生活化实例,并从Java虚拟机、操作系统和硬件多个层次与角度出发,循序渐进、系统地介绍Java平台下的多线程编程核心技术及...

    Java线程总结教程

    在论坛上面常常看到初学者对线程的无可奈何,所以总结出了下面一篇文章,希望对一些正在学习使用java线程的初学者有所帮助。 首先要理解线程首先需要了解一些基本的东西,我们现在所使用的大多数操作系统都属于多...

    java_thread_cn.rar_Java 线程池_java thread books_java线程_线程池_线程池调度

    中文文档,其目录如下: 线程中一些基本术语和概念 线程之间的通讯 Java线程调度 线程池 工作队列

    Java线程的基本概念

    本文主要介绍了Java线程的基本概念。具有很好的参考价值,下面跟着小编一起来看下吧

    Java多线程编程.pdf

    Java线程是Java语言中一个非常重要的部分,尤其是在Java5以后,Java对多线程做了很多扩展,大大增强了Java多线程编程的能力。这个专题涵盖了Java线程的概念和基本操作,并包含了一些高阶的设计及应用方法。

    java线程学习总结

    线程中一些基本术语和概念 线程中一些基本术语和概念

    Java线程面试TOP50.pdf

    在Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方式创建线程比较好(比如:继承thread类还是调用Runnable接口),然后逐渐问到并发问题像在Java并发编程的过程中...

    Java线程知识深入解析

    Java线程知识深入解析 一般来说,我们把正在计算机中执行的程序叫做"进程"(Process) ,而不将其称为程序(Program)。所谓"线程"(Thread),是"进程"中某个单一顺序的控制流。新兴的操作系统,如Mac,Windows NT,Windows 95...

    java基本教程之多线程基本概念 java多线程教程

    多线程是Java中不可避免的一个重要主体。下面是对“JDK中新增JUC包”之前的Java多线程内容的讲解,JUC包是由Java大师Doug Lea完成并在JDK1.5版本添加到Java中的

    有关java线程循环和serversocket和socket的程序借鉴.pdf

    有关java线程循环和serversocket和socket的程序借鉴.pdf

Global site tag (gtag.js) - Google Analytics