zoukankan      html  css  js  c++  java
  • 多线程的概述(一)

     
    程序 :由源代码生成的可执行应用 QQ.app 
     
    进程 :一个正在运行的程序可以看作是一个进程,拥有独立运行所需的全部资源
     
    线程 :程序中独立运行的代码段
     
    一个进程是由一个或多个线程组成。进程只负责资源的调度和分配,线程才是程序真正的执行单元,负责代码的执行。
     
    单线程 :每个正在运行的程序就是上面说的进程,至少包含一个线程,这个线程叫主线程。主线程在程序启动时被创建,用于执行main函数。那么只有一个主线程的程序就称作 单线程程序。在单线程程序中,主线程要负责执行程序的所有代码(UI的展现和刷新、网络请求、本地存储等等),这些代码只能 顺序执行 而无法 并发执行。
     
    这样就引出了多线程
     
    多线程 :同理 拥有多个线程的程序就称作多线程程序。iOS允许用户自己根据需要开辟若干新的线程,相对于主线程来说,这些线程叫子线程。不管是主线程还是子线程都是独立的运行单元,各自的执行互不影响,因此能够并发执行。
     
    单线程和多线程的区别
    单线程程序 :只有一个线程即主线程,代码顺序执行,容易出现代码阻塞(页面假死)。
    多线程程序 :与多个线程,线程间独立运行,能有效的避免代码阻塞,并且提高程序的运行性能。
     
    **注意:iOS中关于UI的添加和刷新必须在主线程中操作
     
    iOS平台下的多线程有以下4个实现种类
    NSThread
    NSOprationQueue
    NSObject
    GCD
  • 相关阅读:
    mongodb将mysql数据导入
    mongodb增删改查操作
    mongdb安装
    Python获取两个文件的交集、并集、差集
    java回调函数详解
    java线程锁之synchronized
    mysql知识点汇集
    Springboot2.0实现URL拦截
    idea将springboot打包成jar或者war
    leetcode1128
  • 原文地址:https://www.cnblogs.com/xs514521/p/5467237.html
Copyright © 2011-2022 走看看