多线程简介(多线程001)
来源:互联网 发布:美军身份牌淘宝 编辑:程序博客网 时间:2024/06/06 12:33
4个基本概念
同步
- 之前写程序的时候都是从上到下,从左到右,代码执行顺序
- 1个线程执行多个任务,也是依次执行,1个线程同一时间执行1个任务
异步
多个线程可以 "同时" 执行多个任务
进程
- 当前计算机中正在运行的程序
- 每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存空间内
- 通过“活动监视器”可以查看Mac系统中所开启的进程
线程
- 一个进程包含一个或多个线程
- 线程是程序执行的基本单位,进程中所有的任务都在线程中运行
多线程
多线程的基本概念
- 一个进程中可以开启多个线程
- 多个线程是“同时”运行的
- 多线程可以提高程序的执行效率
执行原理
通过CPU的快速切换线程
特征总结
- (单核CPU)同一时间,cpu只能处理1个线程,只有1个线程在执行
- 通过CPU的快速切换
- 切换时间非常短,造成了“同时”执行的现象
- 开启非常多线程的时候,CPU切换线程消耗大量资源导致线程的执行效率降低
优缺点
优点
- 能适当的提程序的执行效率
- 能适当的提高资源的使用率
- 线程执行完所有任务后自动销毁
缺点
- 开启线程需要占用一定的内存空间(默认情况下,每一个线程都占512KB)
- 如果开启大量的线程,会占用大量的内存空间,降低程序的性能
- 线程越多,cpu在调用线程上的开销就越大
- 程序设计更加复杂,比如线程间的通信、多线程的数据共享
主线程
- 一个程序运行后,默认会开启1个线程,称为“主线程”或“UI线程”
- 主线程一般用来 刷新UI界面 ,处理UI事件(比如:点击、滚动、拖拽等事件)
主线程使用注意
- 别将耗时的操作放到主线程中
- 耗时操作会卡住主线程,严重影响UI的流畅度,给用户一种卡的坏体验
iOS中的四中多线程技术的区别
简介 语言 线程生命周期 使用频率
0 0
- 多线程简介(多线程001)
- 多线程简介
- 多线程简介
- 多线程简介
- 多线程简介
- 多线程简介
- 多线程简介
- 多线程简介
- 多线程简介
- 多线程简介
- 多线程简介
- iOS多线程 一一 多线程简介
- C#的多线程简介
- C#的多线程简介
- JavaScript多线程编程简介
- JavaScript多线程编程简介
- .net多线程编程简介
- 多线程编程简介
- 新手学习wpf记录 等级1
- ubuntu14.04安装jdk
- Kafka
- MySQL 几个比较重要的用法总结
- linux下烧写atmel芯片
- 多线程简介(多线程001)
- 第10周项目4-教师兼干部类
- NSAttributedString 详解
- poj 2778 AC自动机构建有向图 + 邻接矩阵快速幂
- Android 实现一键切换应用主题颜色
- Android关于创建涂鸦板过程中出现的小问题
- Android开发学习总结(六)—— APK反编译
- linux下安装libsvm
- 浅谈分类