
多线程
cangqiongshengjian
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 信号量 Semaphore 介绍
Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 Semap...原创 2012-12-16 15:53:48 · 117 阅读 · 0 评论 -
CyclicBarrier同步工具应用
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之...原创 2012-12-16 16:17:10 · 108 阅读 · 0 评论 -
CountDownLatch的使用
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 构造方法参数指定了计数的次数 co...原创 2012-12-16 16:26:54 · 110 阅读 · 0 评论 -
Exchanger使用
JDK1.5中有一个Exchanger类,可以用来完成线程间的数据交换。 类java.util.concurrent.Exchanger提供了一个同步点,在这个同步点,一对线程可以交换数据。每个线程通过exchange()方法的入口提供数据给他的伙伴线程,并接收他的伙伴线程提供的数据,并返回。当两个线程通过Exchanger交换了对象,这个交换对于两个线程来说都是安全的。 以下是例子...原创 2012-12-16 16:34:24 · 628 阅读 · 0 评论 -
java 线程池
1. 引言 合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了...原创 2012-12-17 13:41:50 · 102 阅读 · 0 评论 -
消费者生产者模式三种模式实现
生产者和消费中模式在多线程中时经典中,我们下面通过这种方式来看看阻塞队列,锁机制以及最原始的方式的区别与联系: [b][size=medium]对于通过阻塞队列:[/size][/b] [code="java"] /** * */ package com.chihonglu.ConsumerProducer.blockingQueue; import ja...原创 2012-12-17 16:52:19 · 144 阅读 · 0 评论 -
阻塞队列
使用BlockingQueue的关键技术点如下: 1.BlockingQueue定义的常用方法如下: 1)add(anObject):把anObject加到BlockingQueue里,即如果BlockingQueue可以容纳,则返回true,否则招聘异常 2)offer(anObject):表示如果可能的话,将anObject加到Bl...原创 2012-12-17 16:53:53 · 94 阅读 · 0 评论 -
java读写锁
java5 过后有lock锁的读写机制 [code="java"]package cn.com.scl.cache import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.lo...原创 2012-12-17 17:07:52 · 112 阅读 · 0 评论 -
java 多线程机制
程序、进程和线程: 程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一个进程执行过程中可以产生多个线程,每个线程有自身的产生、存在和消亡的过程,也是一个动态的概念。每个进程都有一段专用的内存区域,而线程间可以共享相同的内存区域(包括代码和数据),并...原创 2012-12-17 17:20:12 · 200 阅读 · 0 评论