多线程的主要用处是什么?
展开全部
多线程是指从软件或者硬件上实现多个线程并发执行的技术,具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机,多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,此独立运行的程序片段叫作“线程”,利用其编程的概念就叫作“多线程处理”,具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。
多线程模式的作用如下:
1、一个采用了多线程技术的应用程序可以更好地利用系统资源。其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。
2、更为重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。
3、使用线程可以把占据长时间的程序中的任务放到后台去处理。
4、用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。
5、程序的运行速度可能加快。
6、在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等等。
多线程模式的作用如下:
1、一个采用了多线程技术的应用程序可以更好地利用系统资源。其主要优势在于充分利用了CPU的空闲时间片,可以用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。
2、更为重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。
3、使用线程可以把占据长时间的程序中的任务放到后台去处理。
4、用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。
5、程序的运行速度可能加快。
6、在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等等。
展开全部
简述多线程的作用以及什么地方用到多线程 原创
2016-09-12 15:21:25
4点赞
今天明天_007
码龄4年
关注
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
2016-09-12 15:21:25
4点赞
今天明天_007
码龄4年
关注
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先说下多线程出现的原因:
为了解决负载均衡问题,充分利用CPU资源.为了提高CPU的使用率,采用多线程的方式去同时完成几件事情而不互相干扰.为了处理大量的IO操作时或处理的情况需要花费大量的时间等等,比如:读写文件,视频图像的采集,处理,显示,保存等
多线程的好处:
1.使用线程可以把占据时间长的程序中的任务放到后台去处理
2.用户界面更加吸引人,这样比如用户点击了一个按钮去触发某件事件的处理,可以弹出一个进度条来显示处理的进度
3.程序的运行效率可能会提高
4.在一些等待的任务实现上如用户输入,文件读取和网络收发数据等,线程就比较有用了.
多线程的缺点:
1.如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换.
2.更多的线程需要更多的内存空间
3.线程中止需要考虑对程序运行的影响.
4.通常块模型数据是在多个线程间共享的,需要防止线程死锁情况的发生
为了解决负载均衡问题,充分利用CPU资源.为了提高CPU的使用率,采用多线程的方式去同时完成几件事情而不互相干扰.为了处理大量的IO操作时或处理的情况需要花费大量的时间等等,比如:读写文件,视频图像的采集,处理,显示,保存等
多线程的好处:
1.使用线程可以把占据时间长的程序中的任务放到后台去处理
2.用户界面更加吸引人,这样比如用户点击了一个按钮去触发某件事件的处理,可以弹出一个进度条来显示处理的进度
3.程序的运行效率可能会提高
4.在一些等待的任务实现上如用户输入,文件读取和网络收发数据等,线程就比较有用了.
多线程的缺点:
1.如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换.
2.更多的线程需要更多的内存空间
3.线程中止需要考虑对程序运行的影响.
4.通常块模型数据是在多个线程间共享的,需要防止线程死锁情况的发生
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |