• 何时使用线程


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

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

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

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

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

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

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

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

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

    前台和后台线程

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

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

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

  • 相关阅读:
    RQNOJ 342 最不听话的机器人:网格dp
    RQNOJ 329 刘翔!加油!:01背包
    RQNOJ 57 找啊找啊找GF:01背包
    RQNOJ 202 奥运火炬登珠峰:01背包
    RQNOJ 201 奥运大包围:LIS + 拼链成环
    2017SN多校D1T2 note:dp
    2017SN多校D1T1 loveletter:模拟
    HDU 2157 How many ways??:矩阵快速幂【i到j共经过k个节点的方法数】
    poj 3764 The xor-longest Path
    bzoj 1192 鬼谷子的钱袋
  • 原文地址:https://www.cnblogs.com/PerfectBeauty/p/9462741.html
Copyright © 2020-2023  润新知