声明:小弟菜狗一个。对ThreadLocal的描写叙述和理解难免有所偏差 近期由于须要深入的了解android的handler消息机制而去查看了Looper的源代码。众所周知在主线程中是不须要在程序猿在代码新建一个Looper对象的,由于在主线程创建时它就被创建出来了。所以就好奇它是怎么被创建出来的 ...
分类:
其他好文 时间:
2017-05-19 23:52:58
阅读次数:
269
以上两种显示方法都实现返回值写法,无返回值两种方法基本无区别。 由执行时间结果看出,异步可以直接结束主线程,方法也不需要主线程处理过多的代码。 委托需要在主线程编写代码,并且写法有些复杂。 ...
主线程与子线程常常须要进行数据的传递。不同的类之间,不同的控制器之间都须要。 并且常常须要监听一个动作的完毕。而后才去做对应事件。(代理是一对一的关系)。 一、代理传值 代理是一种设计模式。iOS中用的许多。能够通过自己定义代理来进行传值。 參见我的这篇文章 http://blog.csdn.net ...
分类:
移动开发 时间:
2017-05-17 20:56:51
阅读次数:
257
本章主要介绍和讲解concurrent.util里面的常用的工具类。 一、CountDownLatch使用:(用于阻塞主线程) 应用场景 :通知线程休眠和运行的工具类,是wait和notify的升级版本。notify不会释放锁,但是 countDown()会释放锁 实例化:final CountDo ...
分类:
编程语言 时间:
2017-05-16 18:37:53
阅读次数:
140
Java多线程Future模式有些类似于Ajax的异步请求Future模式的核心在于:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑 假设服务器的处理某个业务,该业务可以分成AB两个过程,并且AB两个过程之间不需要彼此的返回结果 A过程需要1秒钟,B过程需要2秒钟,主线程 ...
分类:
编程语言 时间:
2017-05-16 00:40:43
阅读次数:
234
java用while循环设计轮询线程的性能问题 轮询线程在开发过程中的应用是比较广泛的,在这我模拟一个场景,有一个队列和轮询线程,主线程往队列中入队消息,轮询线程循环从队列中读取消息并打印消息内容。有点类似Android中Handler发送消息。 首先定义一个Message类。 1 2 3 4 5 ...
分类:
编程语言 时间:
2017-05-15 11:59:13
阅读次数:
483
在多线程编程中。经常须要从主线程传递參数给子线程或在主线程中获得子线程的计算结果, 若使用全局变量实现。必定须要对临界区保护,因此导致大量的切换工作造成效率的低下。 而利用进程间的參数传递能够解决这一问题。 两个方向的參数传递: 1.主线程向子线程传递參数: 通过函数 int pthread_cre ...
分类:
编程语言 时间:
2017-05-13 18:06:30
阅读次数:
140
本篇文章适用于Java和Android开发者,会从实现一个最简单的队列过渡到实现一个带有优先级的队列,使用生活中最常见的的例子结合讲解,保准你可以掌握基本的队列原理。
分类:
移动开发 时间:
2017-05-12 23:53:39
阅读次数:
368
我们都知道setTimeout是一个延迟执行的函数 会得到1,3,2 但是 你知道这段代码会执行什么样的效果吗 正确答案是2,1 一开始我也很疑惑, 但是答案不是这样的 听阮一峰大神的解释 setTimeout(fn,0)的含义是指定某个人物在主线程最早可得的空闲时间执行,也就是说,尽可能早的执行。 ...
分类:
其他好文 时间:
2017-05-12 13:23:34
阅读次数:
137
当nstimer在主线程创建时,当滑动时,系统为了更好的处理UI事件,会暂停timer,解决办法就是改变timer的mode,不使用缺省的NSDefaultRunLoopMode,而是改用NSRunLoopCommonModes NSTimer *timer = [NSTimer timerWith ...
分类:
其他好文 时间:
2017-05-12 13:13:30
阅读次数:
229