zoukankan      html  css  js  c++  java
  • 何时使用线程

    使用线程有以下三方面原因

    1 可以使用线程将代码同其他代码隔离

    这将提高应用程序的可靠性。如果你的应用支持加载第三方的组件,那么应用程序对于健壮性的要求就会提高,使用线程将有助于满足这个需求。

    比如第三方组件出错、或是崩溃后可以不影响自己的应用程序,同时,还可以再次利用线程来使用第三方组件。

    2可以使用线程来简化编码

    通常,要引入线程时,引入的是要相互协作的代码,他们可能要去线程同步构造知道另一个线程什么时候终止。有时候,使用一个任务自己的线程来执行该任务,会使得编码简单。

    比如对于一个tcp通信任务而言,该任务使用单独的线程来执行网络交互,隔离其他逻辑会让编码变得简单很多,同时也会提高性能

    3可以用线程实现并发执行

    如果应用在多CPU机器上运行,那么让多个任务同时执行,就能提高性能

    前台和后台线程

    CLR将每个线程要么视为前台线程,要么视为后天线程。一个应用的所有前台线程停止运行时,CLR会强制终止仍在运行的任何后台线程。这些线程被直接终止,不会抛出异常。

    因此前台线程用来完成确实想完成的任务,比如,将内存数据Flush到磁盘,另外为非关键性任务使用后台线程。每个APPDomain都可以运行一个单独的应用程序。

    在一个线程的生命周期中,随时可以进行前后台的切换,应用程序的主线程和构造一个Thread对象显示创建的都为前台线程。线程池默认为后台线程,由进入托管环境的本地代码创建的任何线程都被标记为后台线程

  • 相关阅读:
    leetcode & lintcode 题解
    部署 Flask 应用时,为什么会需要 gunicorn 或 uWSGI?
    ubuntu vim python配置
    深度学习Momentum(动量方法)
    spark shuffle原理
    c++多态特性总结
    FM/FFM原理
    hadoop streaming怎么设置key
    归一化的优点和方法
    九章算法强化
  • 原文地址:https://www.cnblogs.com/PerfectBeauty/p/9462741.html
Copyright © 2011-2022 走看看