dispatch_sync(),同步添加操作.他是等待添加进队列里面的操作完成之后再继续执行. dispatch_queue_t concurrentQueue = dispatch_queue_create("my.concurrent.queue", DISPATCH_QUEUE_CONCURRENT); NSLog("); dispatch_sync(concurrentQueue, ^(){ NSLog("); [NSThread sleepForTimeI…
​ 学习学习dispatch_block,在向队列中添加任务时,可以直接在对应的函数中添加 block.但是如果想对任务进行操作,比如监听任务.取消任务,就需要获取对应的 block. 1 创建Block 第一种方式如下: 1 dispatch_block_t dispatch_block_create(dispatch_block_flags_t flags, dispatch_block_t block); ​ 在该函数中,flags 参数用来设置 block 的标记,block 参数用来设…
Hbase深入学习(六) ―― Java操作HBase 本文讲述如何用hbase shell命令和hbase java api对hbase服务器进行操作. 先看以下读取一行记录hbase是如何进行工作的,首先hbaseclient端会连接zookeeper qurom,例如hbase_config.set(“hbase.zookeeper.quorum”,”192.168.50.216”)).通过zookeeper组件client能获知哪个server管理root-region.那么client…
目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            TweenMax动画库学习(四)            TweenMax动画库学习(五)              TweenMax动画库学习(六)  上一节我们主要聊了TweenMax动画库中的currentLabel():获取当前状态.getLabelAfter():获取下一个状态.getLabel…
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四> 基础API SVG 学习<五> SVG动画 SVG 学习<六> SVG的transform SVG 学习<七> SVG的路径——path(1)直线命令.弧线命令 SVG 学习<八> SVG的路径——path(2)贝塞尔曲线命令.光滑贝塞尔曲线命令 (转…
如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类. 我们可以把Mutex看作一个出租车,乘客看作线程.乘客首先等车,然后上车,最后下车.当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车.而线程与Mutex对象的关系也正是如此,线程使用Mutex.WaitOne()方法等待Mutex对象被释放,如果它等待的Mutex对象被释放了,它就自动拥有这个对象,直到它调用Mutex.ReleaseMutex()…
http://blog.sina.com.cn/s/blog_89d90b7c0102w2ox.html unity5已经封装好了接口,所以依赖打包并没有那么神秘和复杂了. 打包: 1.定义好资源的assetBundleName 2.BuildPipeline.BuildAssetBundles,指定资源目录和压缩类型 生成: 1.Assetbundle文件,加载时的首要文件,包含所有资源的依赖信息 2.每个文件对应一个.manifest,不用管他,但是可以打开查看他引用了哪些资源. 加载: 1…
http://blog.csdn.net/yerenyuan_pku/article/details/71904315 本文将手把手教你如何使用MyBatis整合Spring,这儿,我本人使用的MyBatis是MyBatis3.2.7这个版本,Spring是Spring4.1.3这个版本.读者只要学会这两个版本的框架整合之后,其他版本之间的整合就一通百通了. 整合思路 MyBatis整合Spring的思路如下: SqlSessionFactory对象应该放到spring容器中作为单例存在. 传统…
cesium 学习(六) 坐标转换 一.前言 在场景中,不管是二维还好还是三维也罢,只要涉及到空间概念都会提到坐标,坐标是让我们理解位置的一个非常有效的东西.有了坐标,我们能很快的确定位置相关关系,但是坐标有很多种,专业的说,坐标系有很多种,比如大地2000.北京54.西安80.WGS84.墨卡托投影坐标系……还有各个地方的地方坐标系.如果用北京54坐标带入到WGS84坐标中去使用,你会发现偏差的不说十万八千里也会让你怀疑人生! 所以我们需要坐标转换这个东西,把一个坐标系的坐标转换成另一个想要的…
Vue学习六之axios.vuex.脚手架中组件传值   本节目录 一 axios的使用 二 vuex的使用 三 组件传值 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 axios的使用 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,promise是es6里面的用法. axios能做的事情:官网地址 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和…
Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizhinantian/p/3540114.html 通常用" [ ] "来表示条件测试.注意这里的空格很重要.要确保方括号的空格 一.文件判断 1.按照文件类型进行判断 测试选项 作用 -b 文件 判断文件是否为块设备文件并且存在 -c 文件 判断文件是否为字符设备文件并且存在 -d 文件 判…
什么是GCD 1.全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 2.纯C语言,提供了非常多强大的函数 GCD的优势 GCD是苹果公司为多核的并行运算提出的解决方案 GCD会自动利用更多的CPU内核(比如双核.四核) GCD会自动管理线程的生命周期(创建线程.调度任务.销毁线程) 程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码 任务和队列 GCD中有2个核心概念 任务:执行什么操作 队列:用来存放任务 GCD的使用就2个步骤,首先确定定制任务(…
一:GCD中的两个核心概念,队列与任务: 1.任务:执行什么操作.(代码块 block) 任务执行的类型分为以下两种: 1.1同步执行任务:在当前线程执行任务.不会开辟新的线程. 1.2异步执行任务:在其他线程执行任务,会开辟新的线程. 2.队列:用来存放任务,先进先出.它会吧任务一个个取出来然后放到对应的线程中执行. 队列的类型分为以下两种: 2.1串行队列:队列里的任务执行模式为一个接一个,一次只会取出一个任务. 2.2并发队列:同时执行多个任务,一次拿出所有任务. 二:GCD中不同队列与任…
iOS常见的多线程开发方式有NSThread.NSOPeration和GCD,抽象程度依次提高,GCD是最抽象的,使用起来最简单,但相对来说功能有限,比如不能cancel任务,这也算是一点遗憾吧. 今天主要记录下学习dispatch_barrier_async中遇到的问题(其实是自己没仔细看Apple文档),dispatch_barrier_async是在执行完前面的任务后它才执行,而且它后面的任务等它执行完成之后才会执行(先后顺序是按照添加到queue的次序),但该API适用的场景是dispa…
********************************* 基本概念 *********************************** 1. Grand Central Dispatch (GCD)是Apple开发的一个多核编程的较新的解决方法,是苹果主推的多线程处理机制.在多核CPU的状态下,GCD的性能很高. 它自动利用更多的CPU内核,管理线程生命周期,程序员不需要编写任何线程管理代码,只需要给定要让GCD执行的任务. 2. GCD是纯C语言的,GCD中的函数大多数以disp…
dispatch_sync(),同步添加操作.他是等待添加进队列里面的操作完成之后再继续执行. dispatch_queue_t concurrentQueue = dispatch_queue_create("my.concurrent.queue", DISPATCH_QUEUE_CONCURRENT); NSLog(@"1"); dispatch_sync(concurrentQueue, ^(){ NSLog(@"2"); [NSThre…
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //      gcdLockDemo1() //        gcdLockDemo2() //        gcdLockDemo3() //        gcdLockDemo4() gcdLockDemo5() } override func didReceiveMemoryW…
出自简书 : https://www.jianshu.com/p/2d57c72016c6 在 GCD 中有两种队列:串行队列和并发队列.两者都符合 FIFO(先进先出)的原则.两者的主要区别是:执行顺序不同,以及开启线程数不同. GCD 六种组合(主线程+同步执行  会锁卡) (并发队列的并发功能只有在异步(dispatch_async)函数下才有效) 线程通信:(例子见网址的参考.) 在iOS开发过程中,我们一般在主线程里边进行UI刷新,例如:点击.滚动.拖拽等事件.我们通常把一些耗时的操作…
  本节目录 一 axios的使用 二 vuex的使用 三 组件传值 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 axios的使用 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,promise是es6里面的用法. axios能做的事情:官网地址 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JS…
dispathc_apply 是dispatch_sync 和dispatch_group的关联API.它以指定的次数将指定的Block加入到指定的队列中.并等待队列中操作全部完成. NSArray *array = [NSArray arrayWithObjects:@"/Users/chentao/Desktop/copy_res/gelato.ds", @"/Users/chentao/Desktop/copy_res/jason.ds", @"/U…
文章摘抄至:http://zhuyanfeng.com/archives/3015 并有一些改动 GCD(Grand Central Dispatch)是从OS X Snow Leopard和iOS 4开始引入的新一代的多线程编程技术.开发者只需定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并有计划的执行任务.并且由于线程管理是作为系统的一部分来实现的,因此系统可以统一管理,它会决定什么时候创建新线程,创建哪些新线程,多个任务是顺序执行还是并发执行.这样就…
五  Vue学习-vue-cli脚手架学习(创建只选一个选项:Babel) 1. 项目目录说明 node_modules : 包管理文件夹 public : 静态资源 src : 源代码 gitignore : Git忽略文件,里面配置的文件就不提交到服务器 babel.config.js : ES语法转换 package.json : 重要的项目和模块配置信息 package-lock.json : 锁定安装时包的版本号,记录模块与模块之间的依赖关系 README.md : 书写注释文档 2.…
一.代码实例 在我们分析spring的IOC源码的时候,发现除了配置标准的bean,并且通过getBean(beanName)的方法获取到一个bean的实例外,似乎还有这不少其他获取的方法,例如在第四节,我们发现得到bean实例后,在第26节,会判断是否继承了FactoryBean,然后调用它的方法获取真实的bean,在配置文件中我们发现一个factory-bean方法,这些都说明,我们应该可以使用一个beanFactory获取一个bean,此节重点讨论这部分的实现. 代码如下: 1.car类…
// 后台执行: dispatch_async(dispatch_get_global_queue(, ), ^{ // something }); // 主线程执行: dispatch_async(dispatch_get_main_queue(), ^{ // something }); // 一次性执行: static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ // code to be executed once })…
学习知识很简单,但坚持不懈却又是如此的困难,即使一直对自己说"努力,不能停下"的我也慢慢懈怠了... 闲话不多说,本篇将讲述TCP/IP协议栈的链路层.在本系列第一篇我讲到,TCP/IP协议栈每一层都有特定的功能, 那么链路层的功能如下: (1). 为IP模块发送和接收数据包 (2). 为ARP模块发送ARP请求和接收ARP应答 (3). 为RARP发送RARP请求和接收RARP应答 1.ARP, RARP协议概述 ARP协议即地址解析协议, 通过该协议应用层可以通过IP地址查询到目的…
逻辑查询优化包括的技术 1)子查询优化  2)视图重写  3)等价谓词重写  4)条件简化  5)外连接消除  6)嵌套连接消除  7)连接消除  8)语义优化 9)非SPJ优化 一.子查询优化 1. 什么是子查询:当一个查询是另一个查询的子部分时,称之为子查询. 2. 查询的子部分,包含的情况: a) 目标列位置:子查询如果位于目标列,则只能是标量子查询,否则数据库可能返回类似“错误:子查询只能返回一个字段 ( [Err] 1242 - Subquery returns more than 1…
PS:Struggle for a better future 学习内容: 1.PullToRefrech下拉刷新的实现...   不得不说AndBase这个开源框架确实是非常的强大..把大部分的东西都进行了封装..提供给我们去使用..有些框架其实也被封装了起来...就拿PullToRefrech下拉刷新,还有SlidingMenu来说滑动菜单的实现都被完整的封装在了AndBase内部...提供给我们方便去实现更好的效果...   PullToRefrech,下拉刷新..这个效果在绝大多数使用a…
trait的学习 1.将trait作为接口来使用 trait中可以实现一些方法,子类只要extends 了trait就可以直接使用父trait里面的方法 普通继承的话父类和子类之间的field是通过引用访问,而trait之间的继承scala编译器会直接用同一个field trait的抽象filed 继承者必须实现 为实例混入trait trait调用链 在trait中覆盖抽象方法 此时不能调用因为是抽象方法 混合使用trait的具体方法和抽象方法 trait的构造机制 在具有继承和with多个t…
存储引擎 现在只有InnoDB支持外键 上接着学习笔记五 class表中有外键,所以不能修改存储引擎 表类型   默认的服务器表类型,通过my.ini可以配置    Default-storage-engine=innoDB 在创建或编辑表时可以指定标的存储引擎 Engine innodb Engine myisam Innodb 只有一个frm文件 myisam三个文件(frm结构,myd数据,myi索引) Innodb与myisam区别 1. 文件保存方式 Myisam一个表 3个文件 .f…
一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: <servlet> <servlet-name>ServletConfigDemo1</servlet-name> <servlet-class>gacl.servlet.study.ServletConfigDemo1</servl…