Java并发编程实践 目录并发编程—— ConcurrentHashMap并发编程—— 阻塞队列和生产者-消费者模式并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程—— Callable和Future概述第1部分Callable第2部分Future第3部分 ...
分类:
其他好文 时间:
2014-09-15 17:26:39
阅读次数:
287
由于Python的线程有些限制,例如多线程不能充分利用多核CPU等问题,因此在Python中我们更倾向使用多进程。但在做不阻塞的异步UI等场景,我们也会使用多线程。本篇文章主要探讨Python多进程的问题。
Python在2.6引入了多进程的机制,并提供了丰富的组件及api以方便编写并发应用。multiprocessing包的组件Process, Queue, Pipe, Lock等组件提供了与多线程类似的功能。使用这些组件,可以方便地编写多进程并发程序。...
分类:
编程语言 时间:
2014-09-15 14:22:09
阅读次数:
256
Node.js是使用事件驱动的,非阻塞的I/O模型,用于构建快速的,可扩展的网络应用程序。Node.js想解决的问题是:处理输入,输入,高并发1.阻塞与非阻塞阻塞也叫同步,是指每一次执行一个操作,在这个操作完成之前,代码的执行会被阻塞,无法移到下一个操作上。阻塞就相当于你在超市里面买东西,结账,在排...
有时候scanf("%c",&ch)本应该阻塞等待用户输入一个char型数据的,但为什么会跳过呢?例:在该程序段中,intyear;printf("请输入一个年份:\n");scanf("%d",&year); //setbuf(stdin,NULL);//或者直接用getchar();//在键盘输...
分类:
其他好文 时间:
2014-09-14 20:38:47
阅读次数:
259
我们知道,受限于硬件、内存和性能,我们不可能无限制的创建任意数量的线程,因为每一台机器允许的最大线程是一个有界值。也就是说ThreadPoolExecutor管理的线程数量是有界的。线程池就是用这些有限个数的线程,去执行提交的任务。然而对于多用户、高并发的应用来说,提交的任务数量非常巨大,一定会比允许的最大线程数多很多。为了解决这个问题,必须要引入排队机制,或者是在内存中,或者是在硬盘等容量很大的...
分类:
编程语言 时间:
2014-09-13 10:39:45
阅读次数:
240
当应用启动,系统会创建一个主线程,也叫UI线程,系统对每个UI组件的调用事件都在UI线程中分发出去,而不会为每个UI单独建立线程,这种单线程模型有两个准则:不要阻塞UI线程不用再UI线程之外访问Android UI下面方法可以将执行放在UI线程,但不常用Activity.runOnUiThread(...
分类:
移动开发 时间:
2014-09-12 22:03:24
阅读次数:
346
Android中的PopupWindow详解Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:AlertDialog的位置固定,而PopupWindow的位置可以随意AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的PopupWi...
分类:
移动开发 时间:
2014-09-12 20:29:24
阅读次数:
221
Android 3.0引入了CursorLoader实现异步加载数据,为了避免同步查询数据库时阻塞UI线程的问题。在API 11之前可以通过下载支持库,来使之前的系统支持此功能,下载页面为http://developer.android.com/tools/extras/support-librar...
分类:
移动开发 时间:
2014-09-12 13:27:53
阅读次数:
147
在使用jenkins的时候,我们可能有这样的需求,希望jenkins启动的进程在后台持续运行,不阻塞jenkins的构建。1.136版本之前的jenkins不满足这种需求,1.136之后的版本支持。 为什么jenkins的进程是阻塞的? jenkins...
分类:
其他好文 时间:
2014-09-11 22:31:32
阅读次数:
457