从async和sync的字面上区分,async是异步的简称,sync是同步的简称。1、dispatch_async意味着异步处理,主程序不会等待block块执行结果。int main(int argc, const char * argv[]) { dispatch_queue_t queue...
分类:
编程语言 时间:
2015-12-22 21:16:10
阅读次数:
412
import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class CyclicBarrierLearn { public static void m...
分类:
编程语言 时间:
2015-12-22 21:00:06
阅读次数:
179
0. 前言 前段时间在看无锁队列相关的东西时发现了一篇关于加锁队列算法优化的文章,故看了下其原理以及使用C实现了该队列。该队列在Java中类LinkedBlockingQueue以及实现了该功能。 相关文章:Simple, Fast, and Practical Non-Blocking and.....
分类:
编程语言 时间:
2015-12-22 19:31:56
阅读次数:
225
01-使用create函数创建的并发队列和全局并发队列的主要区别: 1.全局并发队列在整个应用程序中本身是默认存在的,并且对应的有高优先级,低优先级,默认优先级,后台优先级共四个并发队列。 2.使用栅函数时候,苹果官方规定栅栏函数只有在和使用creste函数一起使用才有效。02-xcode 7.0版...
分类:
编程语言 时间:
2015-12-22 19:14:53
阅读次数:
223
4.8 处理任务中的异常下面这个例子讨论了任务当中抛出异常,以及任务异常的获取1 class Program2 {3 static void Main(string[] args)4 {5 //声明一个任务6 Task task;7 //第一种方式,普通的try...catch捕获异常8 try9 ...
分类:
编程语言 时间:
2015-12-22 16:14:42
阅读次数:
246
前言:这里只给出命令行版的扫描工具,后续可能是写一个独立的界面,或者是集成到其他工具上去。一扫描原理其实原理非常简单,就是使用Socket去连接目标IP或者域名的指定端口,如果能够连上则说明该端口是打开的。反之,要是在连接超时之前都没有连上,则将该端口判断为关闭状..
分类:
编程语言 时间:
2015-12-22 13:30:58
阅读次数:
286
回到目录redis客户端驱动有很多,如ServiceStack.Redis,StackExchange.Redis等等,下面我使用ServiceStack.Redis为例,介绍一下在redis驱动中实现并发锁的方式,并发就是多线程同时访问和操作同一个资源,而对于redis来说,如果你多个线程共同修改...
分类:
其他好文 时间:
2015-12-22 12:51:25
阅读次数:
134
多线程模型适用于处理短连接,且连接的打开关闭非常频繁的情形,但不适合处理长连接。多线程模型默认情况下,(在Linux)每个线程会开8M的栈空间,再TCP长连接的情况下,2000/分钟的请求,几乎可以假定有上万甚至十几万的并发连接,假定有10000个连接,开这么多个线程需要10000*8M=80G的内...
分类:
其他好文 时间:
2015-12-22 11:38:28
阅读次数:
220
crawler4j是Java实现的开源网络爬虫。提供了简单易用的接口,可以在几分钟内创建一个多线程网络爬虫。安装使用Maven使用最新版本的crawler4j,在pom.xml中添加如下片段:XHTML12345edu.uci.icscrawler4j4.1不使用Mavencrawler4j的JAR...
分类:
编程语言 时间:
2015-12-22 10:11:11
阅读次数:
353
一、threading问答:应用程序、进程、线程关系?为什么要使用多个CPU?为什么要使用多线程?为什么要使用多进程?java和C#中的多线程和python多线程的区别?PythonGIL?线程和进程的选择:计算密集型和IO密集型程序。(IO操作不占用CPU)1、Python线程Threading用于提供线程相..
分类:
编程语言 时间:
2015-12-22 06:36:50
阅读次数:
205