`
白粥若水
  • 浏览: 103523 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

并发基础

阅读更多
    在一个程序中,独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作多线程处理,也叫并发。
    编程中的相当大的部分可以通过顺序编程来解决。然而,对于某些问题,如果能够并行地执行程序中的多个部分,则会变得非常方便甚至非常必要,即使大多数并发程序是不安全和不可靠的。
    对许多像我一样的初学者来说,当我们第一次接触并发的概念时,我们会第一时间想到并发对执行速度的极大提升,然而,并发还有一种很重要的功能,那就是为设计某些类型的程序提供跟易用的模型。用并发解决的问题大致可以分为“速度”和“设计可管理性”两种
         a)更快的速度
            并发通常是提高运行在单处理器上程序的性能。这听起来有点违背直觉。仔细 思 考一下,在单处理器上运行的并发程序开销确实应该比该程序的所有部分都顺出执行的开销大,因为其中增加了任务之间切换的代价。因此,表面上看,顺序运行要比并发运行要节省切换的代价的。
            然而,使这个问题变得不同的是阻塞。如果程序中某个任务因为该程序控制之外的某些条件(通常是I/O)而导致不能继续执行,那么说整个任务或线程阻塞。如果没用并发,整个程序会停止下来,直到外部条件发生合适的变化。但是如果用到并发,当一个线程阻塞时,程序的其他线程还会继续执行,整个程序保持执行。事实上,从性能上来讲,如果线程不会阻塞,那么单处理器机器上的并发没有任何意义。
        b) 改进代码的设计
            并发提供了一种重要的组织结构上的好处:对某些问题程序,你的程序设计可以大大的简化。例如仿真,没有并发的支持是很难解决的。
            与面向对象的思想相呼应,仿真当中设计到许多交互式的元素,每一个元素都有其“自己的想法”,为此,系统必须为其分配独立的计算资源。因此,从编程的角度来看,模拟每个仿真元素都有其自己的处理器并且都有独立的任务。
分享到:
评论

相关推荐

    Java并发基础

    Java并发基础

    Java并发基础共6页.pdf.zip

    本资料“Java并发基础共6页.pdf.zip”很可能包含了一份简明扼要的教程,涵盖了Java并发编程的基础知识。尽管文件名称暗示内容可能不多,但我们可以深入探讨这个主题,以便更好地理解Java并发编程的关键点。 首先,...

    Java之并发基础

    Java并发基础

    多线程和并发基础

    ### 多线程和并发基础知识点详解 #### 一、多线程与并发概念解析 - **进程与线程的区别**: - 进程(Process):是一个独立的运行环境,通常指一个程序或应用。它拥有自己的地址空间、资源(如文件句柄、内存段等)...

    计算机后端-Java-Java高并发从入门到面试教程-并发基础.zip

    本教程“计算机后端-Java-Java高并发从入门到面试教程-并发基础.zip”旨在帮助开发者从零开始学习并掌握Java并发的基础知识,以应对实际项目中的挑战和面试中的相关问题。 首先,我们需要理解Java并发的基础概念。...

    并发基础RunnableThreadExecutor专题.pdf

    本文将深入探讨并发基础,重点关注Runnable、Thread以及Executor服务这三个核心概念。 首先,`Runnable`接口是Java并发编程的基础,它定义了一个单一的`run()`方法。实现Runnable接口意味着你创建了一个可执行的...

    java并发基础.bmp

    java并发基础的大纲图,包含并发三大根源问题,各种并发问题,java内存模型如何解决,线程生命周期等

    用于ANSI-CC++的通用事件驱动并发基础结构,也称为C语言的异步信号槽和源代码级延续机制。_C++_C_下载.zip

    标题中的“用于ANSI-CC++的通用事件驱动并发基础结构”是指一种设计模式,它在C++编程中实现了一种高效、灵活的事件处理和并发控制机制。这个概念主要来源于面向对象编程中的事件驱动模型,它允许程序通过监听和响应...

    java并发基础学习笔记

    想对并发有一定了解的人群

    java并发基础-课堂笔记

    该内容是在暮课网学习的课程比较,讲解进程、线程、多线程和高并发等基础知识。上传网上以供自己以后复习。

    JAVA多线程和并发基础面试问答(翻译)

    多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题

    java高并发程序设计(原版电子书)

    1. **并发基础**:首先,书中会介绍并发编程的基本概念,如线程、进程、同步与通信机制,以及Java中的线程API,如`Thread`类和`Runnable`接口。 2. **线程管理**:讨论如何创建、启动、停止和控制线程,包括线程池...

    java并发编程实战(英文版)

    #### 二、并发基础知识 本书不仅适合已经有一定Java编程经验的开发人员阅读,也适用于希望深入了解并发编程基础的新手。它从最基本的并发概念讲起,如进程与线程的区别、线程生命周期、线程调度策略等,并逐步深入到...

    Java并发的基础知识.docx

    本文将深入探讨Java并发基础知识,包括并发的目的、并发编程的缺点、减少上下文切换的策略、并行与并发的区别、同步与异步的概念,以及线程的管理方式。 一、并发的目的 并发的主要目的是充分利用多核CPU的计算能力...

    java并发编程实战.zip

    1. **Java并发基础**:介绍Java并发编程的基础知识,包括线程的创建与使用、线程的状态模型(新建、运行、阻塞、等待、终止)以及Java中的Thread类和Runnable接口。 2. **同步机制**:讲解了Java中的基本同步机制,...

    JAVA并发编程经典书籍

    1. **并发基础**(01章):介绍并发编程的基本概念,如线程、进程、同步与异步,以及Java中的线程模型,如Java虚拟机(JVM)如何管理线程。 2. **线程的创建与生命周期**(02章):讲解如何在Java中创建线程,包括...

    JAVA并发编程实践

    1. **并发基础**:首先,书中介绍了并发的基本概念,包括线程、进程、同步、互斥以及死锁等。读者将学习到如何创建和管理Java线程,以及如何避免常见的并发问题,如竞态条件和活锁。 2. **Java并发API**:书中详细...

Global site tag (gtag.js) - Google Analytics