精华内容
下载资源
问答
  • 多线程的作用以及什么地方用到多线程?

    万次阅读 多人点赞 2016-07-31 13:09:12
    多线程的作用以及什么地方用到多线程?

    1>.多线程的作用:可以解决负载均衡问题,充分利用CPU的资源.为了提高CPU的使用率,才用多线程的方式去同时完成几件事情而不互相干扰

    2>.大多情况下,要用到多线程的主要是需要处理大量的IO操作时或处理的情况需要耗时大量的时间等等,比如:读写文件,视频图像采集-处理-显示-保存等

    3>.ios中多线程的方法主要有三种:1.NSThread 2.NSOperation 3.GCD

    4>.多线程中的区别有:

    NSOperatin与GCD之间的区别:

    a.GCD是iOS4.0推出的,主要针对多核CPU做了优化,是C语言技术

    (1).GCD将任务(block)添加到队列中(串行/并行/全局/主队列),并且以同步/异步的方式执行任务的函数

    (2).GCD提供一些NSOperation不具备的功能

    1. 一次性执行

    2.延迟执行

    3.调度组

    b.NSOperation

    (1).NSOperation是iOS2.0推出的,iOS4之后重写了NSOperation

    (2).NSOperation将操作(异步任务)添加到队列(并发队列),就会执行指定操作的函数

    (3).NSOperation 里提供的方便的操作

    1.最大并发数

    2.队列的暂停/继续

    3.取消所有的操作

    4.指定操作之间的依赖关系(GCD可以同时实现)


    GCD与NSThread的区别

    1>.NSThread通过@selected指定要执行的方法,代码分散

    2>.GCD通过block指定要执行的代码,代码集中,所有的代码写在一起 让代码更加简单,易于阅读与维护

    3>.使用GCD不需要管理线程的创建/销毁/复用的过程,程序员不用管理线程的生命周期

    4>.如果要开多个线程NSThread必须实例化多个线程对象

    5>.NSThread靠NSObject的分类方法实现的线程间通讯

    展开全文
  • 自我开始工作来,多线程这个概念一直缠绕不去,几乎是不懂得多线程就是什么令人感到耻辱的事情,但是说归说,究竟为什么要用多线程,总得弄个清楚。 多线程的主要是平衡CPU空时间片与繁重任务的作用,提高利用率。...

         自我开始工作来,多线程这个概念一直缠绕不去,几乎是不懂得多线程就是什么令人感到耻辱的事情,但是说归说,究竟为什么要用多线程,总得弄个清楚。

        多线程的主要是平衡CPU空时间片与繁重任务的作用,提高利用率。

       安利一下《计算机操作系统》书本概念:

        并发性:两个或多个事件在同一时间间隔内发生(doing ,一个人同样的时间做N多事情,赚翻)

        并行性:两个或多个事件在同一时刻发生(多个人在同一时间各分开做各自事情)

     

     其实也有例子比如说,我们网页端开发的时候,提交表单存在:①同步 ②异步 的说法

       (ps:其实日常的servlet就是一个很好的体现)

           同步:如果未得到服务器响应,页面会一直卡住

           异步:  直到服务器做出反应或超时,才执行结果

        这里可以引入一个阻塞的说法,直到目标执行完成后,才进行处理,这样,中间便存在等待的时间,切换到系统而言,我们收到一条请求,需要等待此请求完成后才去处理下一条的话,效率太低,能服务的对象也太少,也浪费了服务器的性能,空闲了许多闲置时间片。

    ps:    但是也要考虑一下系统余量运算力,不然效果也是没有的,水就这么多,无论怎么拧开水龙头也就这个样子,

     

     场景:

    (1)    拆分大运算功能使用:

           类似于hadoop的方式,不过一个可以分机器充分利用,一个主要用于本机器拆分运算

     (2) 定时器与监听任务

           为了达到不同的目的,这两个其实都是常用而无意识到也算是线程的应用

    展开全文
  • 分析:这个时候就必须用到多线程了,因为用户发布问题和给其他用户发邮件可以说是两个相互独立的步骤,如果让主程序一行一行执行的话,那如果发邮件的人很多的话,用户发一个问题要等很长时间页面才会响应,这个肯定...
    案例需求:要开发的项目是一个IT问答平台,其中用户发布问题后,需要给平台上所有选了该问题类别的邮箱中各发一份邮件。

    分析:这个时候就必须用到多线程了,因为用户发布问题和给其他用户发邮件可以说是两个相互独立的步骤,如果让主程序一行一行执行的话,那如果发邮件的人很多的话,用户发一个问题要等很长时间页面才会响应,这个肯定是不能容忍的。但是用普通new一个线程,然后.start的话会出现大问题,很有可能服务器会崩掉,线程不能复用。

       ExecutorService pool = Executors.newCachedThreadPool();
       SendTwoEmailTools st=new SendTwoEmailTools();//你的线程类
       Thread thread = new Thread(st);
      //将线程放入池中进行执行
      pool.execute(thread);
      //关闭线程池
      pool.shutdown();

    这样就比较好的解决问题了。
    如有疑问,可以联系本人qq:1913284695



    展开全文
  • 1, 多线程的作用:可以解决负载均衡问题,充分利用CPU的资源,为了提高Cpu的使用,采用多线程的方法去同时完成几件事情而互不干扰 2. 大多数的情况下, 使用多线程 主要是需要处理大量的IO操作或处理的情况需要花大量...
    1, 多线程的作用:可以解决负载均衡问题,充分利用CPU的资源,为了提高Cpu的使用,采用多线程的方法去同时完成几件事情而互不干扰
    2. 大多数的情况下, 使用多线程 主要是需要处理大量的IO操作或处理的情况需要花大量的时间等;
    3. iOS 有三种主要的方法创建线程:1. NSTread, 2.NSOperationQueue, 3, GCD
    4. 解决方案:使用线程锁,锁是线程同步工具的基础, 锁可以让你很容易保护代码中一大块区域以便你可以确保代码的正确性, 
         使用POSIX互斥锁, 使用NSLock类 使用@synchronized指令等
    5, 回到主线程的方法: dispa_async(dispatch_get_main_queue(), ^{});
        作用:主线程是现实UI界面, 子线程多数是进行处理数据的


    好处:
    1、使用线程可以把程序中占据时间长的任务放到后台去处理,如图片、视频的下载
    2、发挥多核处理器的优势,并发执行让系统运行的更快、更流畅,用户体验更好
    缺点:
    1、大量的线程降低代码的可读性,
    2、更多的线程需要更多的内存空间
    3、当多个线程对同一个资源出现争夺的时候要注意线程安全的问题。

    同步:一个线程要等待上一个线程执行完之后才能执行当前的线程,生活中的例子(上厕所)。
    异步:同时去做两件或者多件事。比如边听歌边看报。 
    GCD串行队列,GCD当中的屏障dispatch_barrier,NSOperationQueue设置最大并发数为1
    展开全文
  • 简述多线程的作用以及什么地方会用到多线程? OC实现多线程的方法有哪些?
  • 多线程--何时用到多线程

    千次阅读 2015-09-01 09:47:01
    何时使用多线程技术,何时避免用它,是我们需要掌握的重要课题。多线程技术是一把双刃剑,在使用时需要充分考虑它的优缺点。 多线程处理可以同时运行多个线程。由于多线程应用程序将程序划分成多个独立的任务,因此可以...
  • Java项目中什么时候需要多线程?比如什么项目中那个模块用到
  • 工作1年了,没接触过多线程,有的说法现在 多核处理器比较...平时能接触到多线程开发的朋友,能说说什么时候用到多线程么?举些例子吧!! 我接触的代码都是 web层--> service层 -->dao --> sql。没见过多线程。。
  • JAVA项目中哪些场景需要用到多线程

    千次阅读 2018-12-15 09:15:40
    这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。 场景二:需要知道一个任务的执行进度,比如我们常看到的进度条,实现...
  • http://blog.csdn.net/u012661010/article/details/76696309问:能不能简单描述一下你在java web开发中需要用到多线程编程的场景?对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的...
  • 使用JAVA编程实现多人聊天室(需要用到多线程),并要求服务器端至少包含如下功能: (1) 若有新用户连接,则向已经连接到服务端的用户发送用户上线消息。 (2) 若有用户断开连接,则向在线用户发送用户下线消息。...
  • Java:多线程:到底什么时候该用多线程

    万次阅读 多人点赞 2018-09-30 16:27:29
    系统接受实现多用户多请求的高并发时,通过多线程来实现。   二、线程后台处理大任务 一个程序是线性执行的。如果程序执行到要花大量时间处理的任务时,那主程序就得等待其执行完才能继续执行下面的...
  • 问:能不能简单描述一下你在java web开发中需要用到多线程编程的场景? 对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗?回答一: 最典型的如: 1、用户注册完成送大礼包/...
  • 到底什么时候该用多线程

    万次阅读 2014-05-10 17:40:56
    到底什么时候该用多线程? 我想大多数人在学习多线程
  • 参考文档: https://blog.csdn.net/u012661010/article/details/76696309
  • 如何应对面试官:什么场景...问:能不能简单描述一下你在java web开发中需要用到多线程编程的场景? 对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗? 回答一: 最典型的如:
  • 什么情况下回用到多线程

    千次阅读 2016-01-08 14:25:40
    异步和多线程是两个概念 多线程至多个任务同时处理(宏观,根据处理器核心数量有关系),多线程是程序启动多个线程,完成不同的任务需求! 异步指的是:例如:A在买东西,B店员需要去拿东西给A看,这个时候可以A继续看...
  • 系统接受实现多用户多请求的高并发时,通过多线程来实现。 二、线程后台处理大任务 一个程序是线性执行的。如果程序执行到要花大量时间处理的任务时,那主程序就得等待其执行完才能继续执行下面的。那用户就不得...
  • int Itemc=m_DataList.GetItemCount();...我的初衷是每次都会设定一个系统时间,可实际运行后发现只设定了最后一个计时器,后来查相关资料发现要用到多线程处理,可是我是菜鸟,有点不懂,忘大神能解答
  • 能不能简单描述一下你在java web开发中需要用到多线程编程的场景?0 对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗? Java多线程  添加评论 关注...
  • 不论什么时候只要能用单线程就不用多线程,只有在需要响应时间要求比较高的情况下用多线程 某此操作允许并发而且该操作有可能阻塞时, 用多线程. 例如SOCKET, 磁盘操作. 使用多线程编程可以给程序员带来很大的灵活...
  • 项目中哪里用到多线程

    万次阅读 2019-05-29 11:13:23
    以前听到多线程基本上就已经吓得尿裤子了,但是! 敲黑板了啊 画重点了啊。就在这个月我自己动手写出来了人生中第一个多线程的案例,并且完美解决了业务需要问题。将几百万的数据从一个表取出来 经过处理和再添加到...
  • 我看分布式锁的示例的时候,生成订单号用到了多线程。而分布式锁用来保证安全性,防止生成两个一样的订单号。...所以到底什么场景需要用到多线程? 每个用户访问一段代码,每个用户都是一个线程吗?到底什么意思??
  • 以前我认为多线程的作用就是提升性能。实际上,多线程并不一定能提升...这时候可以采用多线程,我感觉就等于是异步调用。这样的例子有很多:  ajax调用,就是浏览器会启一个新的线程,不阻塞当前页面的正常操作; ...
  • java web 项目 ssm框架开发 什么时候要使用多线程开发啊 大神列举下使用情景呗 为什么我一直没用多线程开发过呢~~~
  • 什么叫做IO?...就是IO很呗。比如大量的“数据写入磁盘,数据上传到远程服务器,从磁盘读取文件”等操作。 2.磁盘IO 指标(外设拖了主存的后腿) 磁盘 耗时 Main memory reference 100ns Di...
  • https://blog.csdn.net/u012661010/article/details/76696309 https://blog.csdn.net/sunvsjay1890/article/details/52698282
  • Java多线程学习(吐血超详细总结)

    万次阅读 多人点赞 2015-03-14 13:13:17
    本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 405,551
精华内容 162,220
关键字:

什么时候用到多线程