zoukankan      html  css  js  c++  java
  • 什么情况下使用多线程

    如果你的应用程序需要采取以下的操作,那么你尽可在编程的时候考虑多线程机制:
    (1) 连续的操作,需要花费忍无可忍的过长时间才可能完成
    (2) 并行计算
    (3) 为了等待网络、文件系统、用户或其他I/O响应而耗费大量的执行时间
    所以说,在动手之前,先保证自己的应用程序中是否出现了以上3种情形。

    为什么需要多线程(解释何时考虑使用线程)
    从用户的角度考虑,就是为了得到更好的系统服务;从程序自身的角度考虑,就是使目标任务能够尽可能快的完成,更有效的利用系统资源。综合考虑,一般以下场合需要使用多线程:

    1、 程序包含复杂的计算任务时
    主要是利用多线程获取更多的CPU时间(资源)。
    2、 处理速度较慢的外围设备
    比如:打印时。再比如网络程序,涉及数据包的收发,时间因素不定。使用独立的线程处理这些任务,可使程序无需专门等待结果。
    3、 程序设计自身的需要
    WINDOWS系统是基于消息循环的抢占式多任务系统,为使消息循环系统不至于阻塞,程序需要多个线程的来共同完成某些任务。

    多线程的缺点:
    1. 如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换.
    2. 更多的线程需要更多的内存空间
    3. 线程中止需要考虑对程序运行的影响.
    4. 通常块模型数据是在多个线程间共享的,需要防止线程死锁情况的发生

  • 相关阅读:
    指针和数组的关系
    深入学习数组
    const关键字与指针
    野指针是什么
    指针带来的一些符号的理解
    指针的本质
    内存管理之堆
    内存管理之栈
    元类
    断点调式和面向对象进阶
  • 原文地址:https://www.cnblogs.com/SmallStrange/p/13280506.html
Copyright © 2011-2022 走看看