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

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

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

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

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

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

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

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

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

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

    前台和后台线程

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

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

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

  • 相关阅读:
    查看端口号被哪个程序占用
    超出部分用省略号显示 以及 bootStrapTable 的属性一览表
    bootstrap checkbox选中事件
    bootstrap table中formatter作用是什么
    MD5 AES Des 加密解密
    bootstrapTable 隐藏某一列
    报错信息是Error setting null for parameter #1 with JdbcType OTHER
    下拉框隐藏样式,只保留内容
    python学习第二天
    python学习第一天
  • 原文地址:https://www.cnblogs.com/PerfectBeauty/p/9462741.html
Copyright © 2011-2022 走看看