zoukankan      html  css  js  c++  java
  • 多线程(1)

    当不希望 操作被中断的时候 就会用到 多线程

    当用户在下载资源,进行图像处理,耗时数据处理等任务时,往往希望

    操作这个任务的时候 其他操作不会被中断, 这时候就会用到多线程

    在单线程中一个线程只能执行一个任务,一个任务处理不完另一个任务就不能开始,这样会影响用户体验

    多线程 :每个应用程序的内部,都会存在一个或多个执行的线程。它同时或者一个几乎同时执行不同的操作

    每个系统运行的应用程序都是一个进程 每个进程里面都包含一个或多个线程。

    线程是一组指令的集合,程序中一个单一的顺序控制流程,是一个程序中独立运行的片段

    程序运行后,系统会创建一个叫做主线程的线程,所有的UI控件都必须运行在主线程中,所以也有人叫它UI线程

    如果把所有的任务都放在主线程中,容易造成UI阻塞

    多线程:在同一个应用程序中,同时运行多个线程,完成不同的工作,叫做多线程

    ios中有几种多线程方式:

    iOS中有3种多线程策略供开发者使用:NSThread,NSOperation(基类,不可以直接使用, 只能使用它的子类),GCD

    GCD 苹果推荐的一种实现多线程的方式

    轻量级 :对系统框架的依赖性的程度

    NSThread:是这三种策略里面相对轻量级的,需要自己去管理他的生命周期,以及线程之间的同步,线程共享同一应用程序的部分内存空间,他们拥有对数据相同的访问权限,所以得协调多个线程对同一数据访问,常用的做法是在访问之前加锁,这回导致一定的性能开销

  • 相关阅读:
    amd 2500 boot设置
    Windows Service开发日志(转载csdn)
    asp网站(asp+access)怎么防注入呢
    重新点亮shell————语法[四]
    重新点亮shell————特殊符号[五]
    Spring AOP及事务配置三种模式详解
    手撸一个IOC容器
    Mybatisplus入门教程
    Spring AOP源码解析
    深入理解Spring IOC容器及扩展
  • 原文地址:https://www.cnblogs.com/popper123/p/4763214.html
Copyright © 2011-2022 走看看