对于多线程的理解以及我们为什么要使用多线程

原创 2016年07月10日 02:18:10

首先说下多线程出现的原因:

为了解决负载均衡问题,充分利用CPU资源.为了提高CPU的使用率,采用多线程的方式去同时完成几件事情而不互相干扰.为了处理大量的IO操作时或处理的情况需要花费大量的时间等等,比如:读写文件,视频图像的采集,处理,显示,保存等

多线程的好处:

1.使用线程可以把占据时间长的程序中的任务放到后台去处理

2.用户界面更加吸引人,这样比如用户点击了一个按钮去触发某件事件的处理,可以弹出一个进度条来显示处理的进度

3.程序的运行效率可能会提高

4.在一些等待的任务实现上如用户输入,文件读取和网络收发数据等,线程就比较有用了.

多线程的缺点:

1.如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换.

2.更多的线程需要更多的内存空间

3.线程中止需要考虑对程序运行的影响.

4.通常块模型数据是在多个线程间共享的,需要防止线程死锁情况的发生

实现多线程的方法:

1.NSObject

2.NSthread

3.SNOperation

4.GCD

IOS中多线程的方法主要有三种:

1.NSThread   2.NSOperation  3.GCD

(1).NSOperation与GCD的区别:


(2).GCD与NSThread的区别:

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

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

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

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

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


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ThatBoys/article/details/51869819

java中为什么要用多线程

我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源...
  • qq_35114086
  • qq_35114086
  • 2016-09-22 12:56:36
  • 1626

为什么使用多线程?

  1.耗时的操作使用线程,提高应用程序响应2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。3.多CPU系统中,使用线程提高CPU利用率4.改善程序结构。一个既长又复杂的进程可以...
  • zdwzzu2006
  • zdwzzu2006
  • 2008-04-05 00:09:00
  • 7934

为什么要有多线程?

为什么要有多线程? 单线程,就是指单个流水线的进程(A→B→C),这样的效率不太高。 多线程,指多个单线程同时进行,效率高。 生活场景: 购买电脑时,销售人员介绍这...
  • u012467492
  • u012467492
  • 2016-10-29 14:53:58
  • 761

为什么使用多线程

1.耗时的操作使用线程,提高应用程序响应 2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。 3.多CPU系统中,使用线程提高CPU利用率 4.改善程序结构。一个既长又复杂的...
  • ItJavawfc
  • ItJavawfc
  • 2015-12-19 23:34:21
  • 903

什么是线程?它与进程有什么区别?为什么要使用多线程?

线程是指程序在执行过程中,能够执行程序代码的一个执行单元。在Java语言中,线程有四种状态:运行、就绪、挂起、结束。 进程是指一段正在执行的程序。而线程有时候也被称为轻量级进程,是程序执行的最小单元,...
  • xdhehao
  • xdhehao
  • 2014-09-11 22:47:46
  • 3117

17 为什么会有线程?

00 为什么要有多线程? 类似于生活中的行车道,有的车道小,只有一条道,所以容易造成拥挤。如果车道变宽,可以跑多个车道,那么效率就会高很多了。一条道为单线程,多条道为多线程,可以提高效率。...
  • w83325887
  • w83325887
  • 2016-08-22 16:37:25
  • 501

多线程理解和我们为什么要使用线程

首先说下多线程出现的原因: 为了解决负载均衡问题,充分利用CPU资源.为了提高CPU的使用率,采用多线程的方式去同时完成几件事情而不互相干扰.为了处理大量的IO操作时或处理的情况需要花费大量的时间等...
  • lichuanlong007
  • lichuanlong007
  • 2016-10-08 16:44:44
  • 3020

为什么要使用多线程技术

为什么要使用多线程技术
  • weixin_30531261
  • weixin_30531261
  • 2017-11-18 10:41:45
  • 141

谈谈我对多线程的理解

一、提到多线程,就不得不理解以下几点: 1.程序,进程,线程这三者之间的关系? 简单来说,一程序可以调用多个进程,比如一个视频播放器程序,里面就存在两个进程:一个是播放视频的进程,一个是下载上传视频...
  • DongMeng1994
  • DongMeng1994
  • 2017-01-17 20:17:47
  • 5782

面试题:谈谈对进程的理解?谈谈你对线程的理解?2.进程死锁的原因?如何解决进程死锁?

2.谈谈对进程的理解? 答:首先进程是指在系统中正在运行的一个应用程序;程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点...
  • linux12121
  • linux12121
  • 2016-06-29 22:00:31
  • 3569
收藏助手
不良信息举报
您举报文章:对于多线程的理解以及我们为什么要使用多线程
举报原因:
原因补充:

(最多只允许输入30个字)