- 2.2 NSOperationQueue基本使用 (1)NSOperation中的两种队列 01 主队列 通过mainQueue获得,凡是放到主队列中的任务都将在主线程执行 02 非主队列 直接alloc init出来的队列。非主队列同时具备了并发和串行的功能,通过设置最大并发数属性来控制任务是 ...
分类:
移动开发 时间:
2016-09-08 00:58:14
阅读次数:
372
线程池(Thread Pool)对于限制应用程序中同一时刻运行的线程数很有用。因为每启动一个新线程都会有相应的性能开销,每个线程都需要给栈分配一些内存等等。 我们可以把并发执行的任务传递给一个线程池,来替代为每个并发执行的任务都启动一个新的线程。只要池里有空闲的线程,任务就会分配给一个线程执行。在线 ...
分类:
编程语言 时间:
2016-09-07 18:59:27
阅读次数:
142
Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的。 用pdb调试有多种方式可选: 1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前 python -m pdb myscript.p ...
分类:
数据库 时间:
2016-09-07 18:57:16
阅读次数:
221
(一)同步/异步 (1)同步:代码依次顺序执行。 (2)异步: (二)进程/线程 (1)进程:正在运行的应用程序。每个进程之间是独立的,内存受保护,不能随意互相访问。 (2)线程:是进程的基本执行单元,一个进程的所有任务都在线程中完成,一个进程有多个线程。 一个进程可以有多个线程,多个线程同时执行不 ...
分类:
编程语言 时间:
2016-09-07 18:55:58
阅读次数:
140
作者:Calix 一)模型分析 memcached到底是如何处理我们的网络连接的? memcached通过epoll(使用libevent,下面具体再讲)实现异步的服务器,但仍然使用多线程,主要有两种线程,分别是“主线程”和“worker线程”,一个主线程,多个worker线程。 主线程负责监听网络 ...
分类:
编程语言 时间:
2016-09-07 17:27:27
阅读次数:
227
防伪码:锲而舍之,朽木不折;锲而不舍,金石可镂第三章、MySQL数据库系统目前,比较主流的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件..
分类:
数据库 时间:
2016-09-07 16:06:14
阅读次数:
308
concurrent包是常用多线程的相关包,最近由于开发sdn程序,对于多线程使用比以前多了很多,现简单总结下。 第一类 原子类:用在多个线程共同操作一个计数的情况 AtomicLong AtomicInteger 第二类 lock和condition condition是从lock中得到的,所以在 ...
分类:
编程语言 时间:
2016-09-07 12:50:21
阅读次数:
277
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。 ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每 ...
分类:
其他好文 时间:
2016-09-07 12:43:48
阅读次数:
188
在多线程中如何找到安全问题所在:1,明确哪些代码是多线程运行代码2,明确共享数据3,明确多线程运行代码中哪些代码是操作共享数据的静态的同步方法中,使用锁是该方法所在类的字节码文件对象,即 类名.class 前天俺们谈到了加锁,但是在使用加锁的同时又会带来一个问题,就是死锁。什么叫死锁? 所谓死锁: ...
分类:
编程语言 时间:
2016-09-07 12:37:19
阅读次数:
181
更新:在一次和一位专家的交谈中,他对一下代码能否能够成功同步,给予了否定的答案, 他的理由是”以构造函数的成员变量作为synchronized的锁,在多线程的情况下,每一个线程都持有自己私有变量的锁,这个锁的地址能一样吗?怎么 可能成功同步?这是最错误的写法!“,哎呀妈,说实话,当时我都被惊了一下, ...
分类:
编程语言 时间:
2016-09-07 12:33:18
阅读次数:
195