condition 类:
作为一个示例,假定有一个绑定的缓冲区,它支持 put 和 take 方法。如果试图在空的缓冲区上执行 take 操作,则在某一个项变得可用之前,线程将一直阻塞;如果试图在满的缓冲区上执行 put 操作,则在有空间变得可用之前,线程将一直阻塞。我们喜欢在单独的等待
set 中保存 put 线程和 take 线程,这样就可以在缓冲区中的项或空间变得可用时利用最佳规划...
分类:
编程语言 时间:
2015-01-27 09:25:18
阅读次数:
149
从本篇开始,阿堂准备进一步介绍ASIHTTPRequest框架下载数据和上传数据的实际应用。为了实现多线程并发请求网络能力,ASIHTTPRequest被设计成 NSOperation的子类。ASINetworkQueue被设计成NSOpertaionQueue的子类。如果NSOpertaionQu...
分类:
Web程序 时间:
2015-01-26 11:42:38
阅读次数:
194
背景:
以前想用Semaphore来处理并发访问资源的问题,后来把方案拿给前辈们看的时候,他们说这样也行,但是最好用Task处理,比较简单。所以,顺便学习了下Task.
使用task类创建并执行简单任务
等待任务的完成并获取返回值
使用Co...
分类:
编程语言 时间:
2015-01-25 13:52:05
阅读次数:
728
需求,有一个IP列表文件 ip.txt,里面有1000个ip,那么我要用python同时来处理这1000个IP。
先看ip.txt
192.168.1.1
192.168.1.2
192.168.1.3
......
192.168.1.1000
多线程并发脚本
#!/usr/bin/python
import threading
import sys
import os
...
分类:
编程语言 时间:
2015-01-24 15:58:24
阅读次数:
144
(一)java内存区域概况
jvm运行java程序时把所管理的内存分成几个部分:方法区、java栈、本地方法栈、java堆、pc程序计数器。
class字节码装载解析后,在多线程环境中,方法区和java堆数据共享,每个线程自带pc程序计数器和java栈,栈帧中包含方法的所有状态(局部变量、传参、返回值、运算中间结果等)。对共享数据需要考虑多线程并发问题。
更详细内容可参考《深入理解JVM虚拟...
分类:
编程语言 时间:
2015-01-20 10:34:31
阅读次数:
222
一、前言:JDK为我们提供了很多Map接口的实现,使得我们可以方便地处理Key-Value的数据结构。当我们希望快速存取键值对时我们可以使用HashMap。当我们希望在多线程并发存取键值对时,我们会选择ConcurrentHashMap。TreeMap则会帮助我们保证数据是按照Key的自然顺序或者c...
分类:
其他好文 时间:
2015-01-18 15:44:01
阅读次数:
409
多线程并发处理起来通常比较麻烦,如果你使用spring容器来管理业务bean,事情就好办了多了。spring封装了java的多线程的实现,你只需要关注于并发事物的流程以及一些并发负载量等特性,具体来说如何使用spring来处理并发事务:1.了解 TaskExecutor接口Spring的 TaskE...
分类:
编程语言 时间:
2015-01-13 12:29:06
阅读次数:
371
1 import java.util.concurrent.ExecutorService; 2 import java.util.concurrent.Executors; 3 import java.util.concurrent.Semaphore; 4 5 public class Th.....
分类:
编程语言 时间:
2015-01-09 19:18:46
阅读次数:
260
nonatomic:非原子性访问,不加同步,多线程并发访问会提高性能。如果不加此属性,则默认是两个访问方法都为原子型事务访问。(atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在..
分类:
其他好文 时间:
2015-01-07 11:15:35
阅读次数:
134