zoukankan      html  css  js  c++  java
  • paip.为什么使用多线程的原因.

    paip.为什么使用多线程的原因.


    作者Attilax  艾龙,  EMAIL:1466519819@qq.com 
    来源:attilax的专栏
    地址:http://blog.csdn.net/attilax




    判断是否要使用多线程:主要是查看cpu使用率,要是不饱满,拿可能走需要多线程了...或者界面会卡死,这种情况下也要多线程...


    //使用多线程的原因
    1.防止界面卡死.提高用户的用户体验
    对单核CPU,对客户端软件,采用多线程,主要是 创建多线程将一些计算放在后台执行,而不影响用户交互操作。(用户界面 & 其他计算 并行进行)提高用户的操作性能!
    2.耗时的操作(io,网络io等)使用线程,提高cpu使用率..
    I/O操作不仅包括了直接的文件、网络的读写,还包括数据库操作、Web Service、HttpRequest以及.net Remoting等跨进程的调用。
    要是不使用多线程,你回发现cpu使用率很空闲..


    3.多CPU(核心)中,使用线程提高CPU利用率
     使多CPU系统更加有效
    操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不同的CPU上。
    要是不使用多线程,你回发现仅仅一个cpu很忙碌的,其他cpu使用率很空闲..






    不适用多线程的情况,


    1.你的代码是cpu密集型,在单核cpu上..
    2.单核cpu上,线程的使用(滥用)会给系统带来上下文切换的额外负担。并且线程间的共享变量可能造成死锁的出现。
    3.当需要执行I/O操作时,使用异步操作常常比使用线程+同步I/O操作更合适。




       
  • 相关阅读:
    NET下RabbitMQ实践[WCF发布篇]
    基于Mongodb分布式存储物理文件
    NET下RabbitMQ实践[实战篇]
    关于Memcache mutex设计模式的.net实现
    使用ServiceStackRedis链接Redis简介
    NET下RabbitMQ实践[示例篇]
    基于MongoDB分布式存储进行MapReduce并行查询
    Asp.Net开发小技巧汇总
    愈敏洪讲座
    图标下载利器
  • 原文地址:https://www.cnblogs.com/attilax/p/15199415.html
Copyright © 2011-2022 走看看