`
daojin
  • 浏览: 691575 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

最强大的多线程解决方案!!

阅读更多

前提条件:

1.CUP 指令是一条线执行下来的.(如果是两条线,呵呵!那就没办法同步了.)

   理解错误:

          同步要解决的根源性问题是:

    不是让CUP时间片被一个线程独占!(表面上好像是这样)

     而是使共享的资源被多个线程改来该去!

因此:

    线程的概念可以推广到任意的访问共享资源的对象:

          几个CPU,或者几个电脑,几个网络,甚至几个人。

    都可以被认为是一个线程。

2.支持多线程的操作系统.

一.多线程产生的原因

      开电视--->烧开水

   在这两个命令中,如果按照单线走--->

      要等到电视打开后,才能去烧开水.

   浪费了用户的时间(等待电视打开!!)

      如果能够直接同时扔给计算机两条命令(不用等待),该多好啊!!!

   因此就产生了多线程!!!

      一个线程就是一个指令序列.

   把这两个线程同时撇给计算机(开电视,烧开水);

   然后用户仅仅只需要等待了!!

二.多线程引发的后果:"开电视机"和"烧开水"同时去使用同一个电源插孔的时候.

   因为多个线程共享受一个内存块,问题是:

  当"开电视机"和"烧开水"同时去使用同一个电源插孔的时候:

   是"开电视呢",还是"烧开水"呢

三.多线程的最好的做法应该为:等烧好开水,再去开电视!!!

四.问题是"计算机是个傻子!"

   它的路线是:

    烧开水(没烧好)--------->开电视(没打开)-------->烧开水(没烧好)--------->开电视(没打开)-------->烧开水(没烧好)

    --- ------>开电视(没打开)-------->烧开水(没烧好)--------->开电视(没打开)-------->..........

五.因此,我们要自己去控制他们的行为.

 

  

 

 

  

 

 

分享到:
评论

相关推荐

    SpringMVC简介与多线程解决方案

    ### 多线程解决方案 在Java中,多线程是实现并发执行任务的关键。SpringMVC提供了一种在服务层实现多线程的方法,以提高程序的执行效率和响应速度。以下是一些关键概念: 1. **ThreadPoolTaskExecutor**:Spring...

    springboot多数据源即分布式事务解决方案,添加对多线程的支持

    综上所述,Spring Boot通过其强大的框架能力,为开发者提供了实现多数据源操作、分布式事务管理和多线程支持的解决方案。开发者只需进行适当的配置和编码,就能在复杂的业务场景中确保数据的完整性和一致性。在实际...

    QT多线程—主界面卡死解决方案

    总结一下,QT多线程解决方案的核心是将耗时任务移到工作线程中执行,同时利用信号与槽机制在主线程和工作线程之间安全地传递信息。这样,即使在执行耗时任务时,主线程也能保持响应,从而避免了用户界面卡死的问题。...

    多线程_按键精灵经典多线程操作_

    理解多线程的基本原理和实践方法,有助于开发者在各种场景下实现更高效的自动化解决方案。 在压缩包文件“多线程.Q”中,很可能包含了一个或多个人工编写的具体多线程按键精灵脚本示例,可能包括线程的创建、线程间...

    鱼刺多线程模块

    总的来说,"鱼刺多线程模块"为开发者提供了一个强大的工具,使他们能够在软件开发中充分利用多核处理器的优势,提升程序性能。通过理解和掌握这个模块,开发者可以创建更加高效、响应迅速的应用程序,同时也能深入...

    强大安全多线程的Flux模式

    结合JavaScript开发,Flux模式可以与其他技术如Redux、MobX等协同工作,提供更强大的状态管理解决方案。例如,Redux增加了对中间件的支持,允许扩展更多功能,如日志记录、异步操作处理等;而MobX则利用观察者模式,...

    swift-DownloadVideo基于大神WHC的多线程下载解决方案

    在Swift编程语言中,多线程下载解决方案是一个关键的领域,尤其对于处理大文件如视频的下载任务。本文将深入探讨基于大神WHC的DownloadVideo项目,它提供了一个高效且灵活的多线程下载策略。 首先,让我们理解什么...

    CURL多线程类库

    总的来说,CURL多线程类库是PHP开发中的一个强大工具,它结合了CURL的功能强大和多线程的高效执行,为处理大量网络请求提供了有效解决方案。通过深入理解和实践提供的示例,开发者可以更好地利用这个库来提升其项目...

    Delphi多线程的安全问题分析及解决

    本文深入探讨了Delphi环境下多线程运行过程中可能遇到的安全问题及其解决方案。在Windows操作系统中,多线程技术因其高效性和灵活性而被广泛应用于软件开发之中。然而,随着多线程应用的普及,线程间的同步与资源...

    delphi多线程教程

    总之,《Delphi多线程教程》是一本全面而深入的指南,它不仅教授了多线程编程的基础知识,还涵盖了实际开发中可能遇到的各种挑战和解决方案。通过学习,开发者可以充分利用Delphi的多线程能力,构建出高效、稳定的多...

    AutoIt3 多线程支持库

    为了实现多线程功能,我们可以借助外部扩展,比如"AutoIt3 多线程支持库"。 这个库是用C++编写的动态链接库(DLL),它的目标是为AutoIt3提供多线程能力。DLL是一种可插入到其他程序中的代码模块,可以增强或扩展...

    delphi多线程批量下载

    总之,Delphi多线程批量下载技术结合了并发编程和网络I/O,有效提升了下载效率,为开发者提供了高效且稳定的解决方案。通过学习和实践,开发者不仅可以掌握多线程编程,还能了解到如何应对网络环境下的挑战,提高...

    Kettle解决方案:使用PDI构建开源ETL解决方案

    - **并行与分布式执行**:Kettle支持多线程处理和Pentaho集群,以提高数据处理性能。 3. **使用PDI构建ETL解决方案**: - **设计流程**:通过拖拽和连接的方式,用户可以在Job和Transformation中设计复杂的数据...

    VC++调用大漠插件多线程运行模版

    本文将深入探讨如何在VC++环境中利用大漠插件进行多线程编程,以实现模板化的高效解决方案。 首先,让我们理解什么是VC++。Visual C++是微软公司开发的一种集成开发环境(IDE),它支持C++编程语言,提供了丰富的...

    鱼翅多线程5.4版本模块.rar

    "鱼翅多线程5.4版本模块"是针对易语言开发的一款高效多线程解决方案,为程序员提供了强大的并发处理能力。本文将详细介绍这个模块的特点、功能以及如何在实际项目中运用。 首先,我们要理解易语言这一编程环境。...

    DELPHI真正的多线程代码

    总的来说,这个压缩包提供的Delphi多线程解决方案扩展了Delphi的标准线程功能,通过优化的线程管理、安全的数据结构和高效的通信机制,为开发者提供了更强大、更稳定的多线程编程环境。学习和应用这些代码将有助于...

    多线程计时器

    多线程计时器是一种利用计算机并发处理能力的高级编程技术,它在程序设计中扮演着重要的角色。...在“SuperTimer”这个项目中,我们可以看到多线程如何与计时器相结合,为用户提供了一种强大且灵活的计时解决方案。

    哈哈iOS多线程面试题

    GCD是苹果推出的一种高性能的多线程解决方案,它使用了C语言的函数库,通过强大的队列管理简化了多线程编程的复杂性。 执行任务时,我们可以使用同步执行(sync)和异步执行(async)两种方式。同步执行会阻塞线程...

Global site tag (gtag.js) - Google Analytics