转载于:http://janeky.iteye.com/blog/769965我们先来学习一下JDK1.5 API中关于这个类的详细介绍:“一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个...
分类:
编程语言 时间:
2015-10-27 17:32:20
阅读次数:
311
转载于:http://janeky.iteye.com/blog/769965我们先来学习一下JDK1.5 API中关于这个类的详细介绍: “取消的异步计算。利用开始和取消计算的方法、查询计算是否完成的方法和获取计算结果的方法,此类提供了对 Future 的基本实现。仅在计算完成时才能获取结果;如果...
分类:
编程语言 时间:
2015-10-27 17:12:54
阅读次数:
318
Immutable pattern【坚不可摧模式】一:immutable pattern的参与者--->immutable(不变的)参与者 1.1:immutable参与者是一个字段的值都无法更改的类。 1.2:immutable也没有任何用来更改字段值的方法。 1.3:immutable参与者方法...
分类:
编程语言 时间:
2015-10-22 17:05:51
阅读次数:
254
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列 类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场 ....
分类:
编程语言 时间:
2015-10-22 12:35:14
阅读次数:
242
模拟场景:main方法为网络请求线程(也叫生产者线程),在网络请求线程中开启四个线程(消费者线程),进行高效处理队列中的共同资源(生产者线程生产的共同资源),等待资源处理完毕,网络请求线程执行结束,响应客户端。消费者线程体 1 /** 2 * 3 */ 4 package com.be...
分类:
编程语言 时间:
2015-10-22 12:30:15
阅读次数:
225
轮询线程本身是操作系统中独立的个体,但是线程与线程之间不是独立的个体,因为它们彼此之间要相互通信和协作。想像一个场景,A线程做int型变量i的累加操作,B线程等待i到了10000就打印出i,怎么处理?一个办法就是,B线程while(i == 10000),这样两个线程之间就有了通信,B线程不断通过轮...
分类:
编程语言 时间:
2015-10-04 13:34:36
阅读次数:
256
原文:http://www.cnblogs.com/djcsch2001/articles/2382559.htmlADO多线程数据库查询通常会出现3个问题:1、CoInitialize 没有调用(CoInitialize was not called);所以,在使用任何dbGo对象前,必须手 调用...
分类:
数据库 时间:
2015-09-25 16:24:55
阅读次数:
211
Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,...
分类:
编程语言 时间:
2015-09-23 13:31:41
阅读次数:
201
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace Consol...
分类:
编程语言 时间:
2015-09-18 21:59:33
阅读次数:
236
在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使用Timer(定时器)来解决;本篇文章单单讲线程池[Th...
分类:
编程语言 时间:
2015-09-18 00:41:00
阅读次数:
274