文档章节

关于多线程的一些笔记📒

KevinEmily
 KevinEmily
发布于 2016/01/27 18:50
字数 728
阅读 82
收藏 6
点赞 1
评论 2

1.创建定时源:

      /*1.间隔时间;2.对象;3.方法;4.自定义参数;5.是否重复*/

2.把定时源加入到当前线程的消息循环中

/*1.定时源;2.模式(1)NSDefaultRunLoopMode:拖动界面timer不运行(2)NSRunLoopCommonModes:拖动界面 TImer不受影响 */

[NSRunLoop currentRunLoop]addTimer

3.消息循环

(1)创建消息

(2)把消息放入循环,并指定消息的运行模式

(3)

4.子线程的消息循环

(1)创建子线程(2)往子线程的消息循环添加输入源(3)开启子线程的消息循环 <1> run开启之后关不了

<2>runUntilDate 指定时间间隔<3>apple推荐:通过全局布尔变量控制

特点:子线程默认不开启消息循环,主线程默认开启循环

5.GCD:Grand Central Dispatch  纯C语言 使用简单不管生命周期

定制任务:确定想做的事情

将任务添加到队列中:指定运行方式

GCD会自动将队列中的任务取出

任务的取出遵循队列的FIFO原则:先进先出,后进后出

6. (1)指定要干什么  block任务  dispatch_block_t   没有返回值  没有参数

  (2)队列 dispatch_queue_t

    (3)把任务加入到队列中dispatch_async(队列,任务)

简化写法:合起来

7.GCD线程通信:

(1)//闭包:能够调用其他方法内部的变量

(2)任务的执行方式:

//并发队列:可以让多个任务并发(同时)执行(自动开启多个线程同时执行任务)

//串行队列:让任务一个接着一个的执行(一个任务执行完毕后再执行下一个任务)

//主队列:特殊的串行队列,代表主线程  永远在主线程执行  等主线程不忙时  才调度任务去主线程运行

(3)要不要开启新的线程

//同步执行(synchroniz):在当前线程中执行,不具备开启新线程的能力

// 异步执行(Asynchronize):在新的线程中执行任务

8.串行队列同步:在当前线程有序运行

   串行队列异步:开启一个新的线程  有序执行

   并发队列异步:开启多个新线程  任务无序执行(效率最大)

   并发队列同步:没有开启新的线程  有序执行

   主队列异步:永远在主线程  不开新的线程  有序执行

   主队列同步:运行不了--死锁:主线程任务执行完,主队列才会调度主线程去执行block任务

9.延迟执行:dispatch_after  精度高  纳秒

10.队列组: 等待组里面的异步任务全部执行完成再去执行其他任务

11.一次性执行:dispatch_once  用在单例模式

12.单例模式:整个app中只有一个类的实例化对象





Emily.Wang

© 著作权归作者所有

共有 人打赏支持
KevinEmily
粉丝 18
博文 40
码字总数 23590
作品 0
东城
加载中

评论(2)

KevinEmily
KevinEmily

引用来自“开源中国osc”的评论

标题最后一个乱码是啥
是一个图 笔记的图
开源中国段子手
开源中国段子手
标题最后一个乱码是啥
iOS多线程全面解读(一):概述、NSThread

前言 本系列文章列表 概述、NSThread GCD NSOperation 锁 为什么会写这系列文章? 现在网络上有着大量的关于多线程的文章,“深入剖析”、“底层原理”这些看似高大上的字眼很多,然而大部分...

indulge_in
2017/11/30
0
0
学习笔记DL001 : 数学符号、深度学习的概念

数学符号。 数和数组。𝑎,标量(整数或实数)。𝒂,向量。𝑨,矩阵。𝗔,张量。𝑰𝑛,𝑛行𝑛列单位矩阵。𝑰,维度蕴含上下文单位矩阵。𝑒⁽ⁿ⁾,标准基向量[0,…,0,10,…...

利炳根
2017/11/17
0
0
IDA Pro 逆向速参(链接)

IDA Pro 逆向速参(链接) 整理:PeterDocter 【 IDA】使用IDA load file功能,导入JNI.h解析【JNI 函数】 - CSDN博客 IDA Pro 导入jni.h头文件定义 - CSDN博客 [讨论]IDA中F5功能反编译安卓...

01/14
0
0
UICollectionView自定义布局(一)

前言 最近看了www.raywenderlich.com的关于UICollectionView自定义布局的的教程,作一下笔记,方便以后查阅。UICollectionView自定义布局的基本概念可以查看喵神的WWDC 2012 Session笔记——...

_誌念
2017/11/01
0
0
深度学习总结、资源与规划

终于可以放假回家了,虽然只有半个月,但是还是可以好好地做个休整(陪女朋友)。 这学期作为一个学数学的咸鱼,从今年4月份开始入坑深度学习,4月初写了第一篇文章,4月初正式入坑github和PyT...

SherlockLiao
2017/07/27
0
0
database

存储过程高级篇 讲解了一些存储过程的高级特性,包括 cursor、schema、控制语句、事务等。 数据库索引与事务管理 本篇文章为对数据库知识的查缺补漏,从索引,事务管理,存储过程,触发器,一...

掘金官方
01/04
0
0
掘金JTalk第二期 x 饿了么 给开发者的产品进阶指南

JTalk 又来了,JTalk主打小型的线下沙龙,JTalk的第二场线下分享会面向开发者来一起聊聊产品设计相关。分享有产品迭代的常规思路,产品如何从零到一,在产品大改版中,都要避免哪些坑。产品设...

膜法小编
2017/12/05
0
0
数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 执行

摘要: 原创出处 www.iocoder.cn/Sharding-JD… 「芋道源码」欢迎转载,保留摘要,谢谢! 本文主要基于 Sharding-JDBC 1.5.0 正式版 1. 概述 2. ExecutorEngine 2.1 ListeningExecutorService...

芋道源码掘金Java群217878901
2017/10/08
0
0
iOS多线程全面解读(四):锁

写在前面 本系列文章列表 概述、NSThread GCD NSOperation 锁 多线程带来的问题之一就是安全问题,“锁”是为了使多个线程间可以相互排斥地使用全局变量等共享资源,简单来说就是保证同一时刻...

indulge_in
2017/11/30
0
0
🛠 推荐一款带着出去玩也能查看样式的mini Chrome dev

🛠 推荐一款带着出去玩也能查看样式的mini Chrome dev 一、简述 之前在上一篇文章有涉及到关于移动端样式查看和调试,文章传送门:http://wusiqing.com/?p=231 作为一名前端程序员,很多时...

Cc卿
06/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统

expect脚本同步文件 更改权限 执行脚本 查看执行结果 expect eof需要加上,作用是等脚本命令执行完再进行退出 expect脚本指定host和要同步的文件 更改权限,执行脚本 构建文件分发系统 需求背...

Zhouliang6
4分钟前
0
0
Hive应用:外部分区表

Hive应用:外部分区表 介绍 Hive可以创建外部分区表。创建表的时候,分区要在建表语句中体现。建完之后,你不会在表中看到数据,需要进行分区添加,使用alter语句进行添加。然后数据才会显示...

星汉
14分钟前
0
0
点击Enter登录

1. 效果 2. 实现过程(记得引入jq文件) //6.回车事件 登录 $(function() { document.onkeydown = function(event) { var e = event || window.event || arguments.callee.caller.arguments......

Lucky_Me
20分钟前
1
0
点击菜单内容切换

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .menu{ height: 38px; background-color: #eeeeee; line-height: 38px; } .mao{ ......

南桥北木
今天
1
0
OSChina 周六乱弹 —— 妹子和游戏哪个更好玩

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享唐朝乐队的单曲《国际歌》 《国际歌》- 唐朝乐队 手机党少年们想听歌,请使劲儿戳(这里) @举个栗子- :日常祈雨 邪恶的大祭...

小小编辑
今天
428
6
流利阅读笔记32-20180721待学习

“人工智能”造假:只有人工,没有智能 Lala 2018-07-21 1.今日导读 当今社会,擅长单个方面的人工智能已经盛行,手机借助 AI 智慧防抖技术帮助大家拍出清晰照片,谷歌研发的 AI 助手将可以帮...

aibinxiao
今天
6
0
我的成长记录(一)

今天突然精神抖擞,在我的博客下新开一项分类>成长记录,专门记录每隔一段时间我的一点感悟吧。因为今天才专门花时间新开这样一个分类,所以以前有过的一些感悟没有记录下来,现在已经想不起...

dtqq
今天
1
0
机器学习管理平台 MLFlow

最近工作很忙,博客一直都没有更新。抽时间给大家介绍一下Databrick开源的机器学习管理平台-MLFlow。 谈起Databrick,相信即使是不熟悉机器学习和大数据的工程湿们也都有所了解,它由Spark的...

naughty
今天
1
0
idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
2
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部