zoukankan      html  css  js  c++  java
  • 多线程基础

    1.进程
     
    进程是指在系统中正在运行的的一个应用程序;
    每个进程之间是独立的,每个进程运行在独立的且受保护的专用内存空间中;
     
    2.线程
     
    线程是程序的基本执行单元,一个进程的所有任务都在线程中执行;
    一个线程中任务是串行的;
     
    3.多线程
     
    一个进程中可以开启多条线程,多条线程可以并行执行不同的任务;
    多线程技术可以提高程序的执行效率;
     
    4.多线程的原理
     
    多线程并发执行,实际上是CPU快速地在多条线程之间调度(切换);如果切换的速度足够快,就造成了多线程并发执行的假象;
     
    5.多线程的优点
     
    能适当提高程序的执行效率;
    能适当提高资源利用率;
     
    6.多线程的缺点
     
    开启线程需要占据一定的内存空间;
    线程越多,CPU在调度线程上的开销就越大;
    程序设计更加复杂;
     
    7.主线程
     
    一个iOS程序运行时,默认会开启一条线程,这条线程成为主线程或者UI线程;
     
    8.主线程的主要作用
     
    显示和刷新UI界面;
    处理UI事件(比如点击事件,滚动事件,拖拽事件等);
     
    9.主线程的使用注意
     
    不要将比较耗时的操作放在主线程中;
    耗时操作会阻塞主线程,影响UI操作的流畅度,给用户一种"卡"的坏体验;
     
    10.多线程实现的技术方案
    pthread     跨平台         C语言
    NSThread    面向对象        OC语言
    GCD        替代NSThread     C语言
    NSOperation  基于GCD,面向对象    OC语言
  • 相关阅读:
    设计模式(五)——单例模式
    设计模式(四)——工厂模式
    设计模式(三)—— 装饰者模式
    设计模式(二)—— 观察者模式
    JAVA环境配置
    在线求中位数
    不能对自己期望太大,但总是要拼一拼
    Leetcode | String to Integer (atoi)
    Leetcode | Simplify Path
    Leetcode | Longest Common Prefix
  • 原文地址:https://www.cnblogs.com/zfan/p/3804973.html
Copyright © 2011-2022 走看看