最新文章列表

自己写的java线程池,学习用,望指点

简单说明 ThreadPool:是线程池管理类,提供了线程初始化、开启、关闭、任务添加等方法,管理任缓冲队列 TaskThread:是工作线程,里面定义了一个具体任务接口的ITaskService,所有要执行的具体任务都实现需要实现该接口。当该接口不为空时,会执行该接口的具体任务 RunTaskThread:是监听任务队列的线程,当任务队列不为空时,则向线程池申请一个空闲线程来执行任务。 StopT ...
wentry 评论(0) 有973人浏览 2013-05-22 16:47

简单模拟实现数据库连接池

简单模拟实现数据库连接池 实例1: package com.bijian.thread; public class DB { //private static final int MAX_COUNT = 10; private static final DB instance = new DB(); private int count = 0; private ...
bijian1013 评论(0) 有1533人浏览 2013-05-22 10:04

JDK1.5 AtomicLong实例

JDK1.5 AtomicLong实例 类 AtomicLong 可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。   常 ...
bijian1013 评论(4) 有5979人浏览 2013-05-21 12:44

JDK1.5 Condition接口

Condition 将 Object 监视器方法(wait、notify和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition
bijian1013 评论(0) 有1192人浏览 2013-05-21 12:42

JDK1.5 生产消费者

ArrayBlockingQueue:        一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。 ArrayBlockingQueue的常用方法:        put:将指定的元素添加到此队列的尾部,如果 ...
bijian1013 评论(0) 有954人浏览 2013-05-21 12:41

JDK1.5 Queue

JDK1.5 Queue LinkedList: LinkedList不是同步的。如果多个线程同时访问列表,而其中至少一个线程从结构上修改了该列表,则它必须 保持外部同步。(结构修改指添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这一般通过对自然封装该列表的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedList ...
bijian1013 评论(0) 有1385人浏览 2013-05-21 12:40

JDK1.5 Semaphore实例

Semaphore类        一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。 Semaphore 通常用于限制可以访问某些资源(物理或逻辑 ...
bijian1013 评论(0) 有1172人浏览 2013-05-21 12:40

JDK1.5 Cyclicbarrier实例

CyclicBarrier类 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环的 barrier。 CyclicBarrier支持一个可选的 Runnable
bijian1013 评论(0) 有1146人浏览 2013-05-20 13:27

JDK1.5 线程池

    Executors类主要方法: a.       static ExecutorService newCachedThreadPool() 产生一个ExecutorService对象,这个对象带有一个线程池,线程池的大小会根据需要调整,线程执行完任务后返回线程池,供执行下一次任务使用 b.       static ExecutorService newFixedThreadP ...
bijian1013 评论(0) 有1663人浏览 2013-05-20 13:26

JDK1.5 returnvalue实例

Callable接口: 返回结果并且可能抛出异常的任务。实现者定义了一个不带任何参数的叫做 call 的方法。 Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。        ExecutorService接口方法:        <T>
bijian1013 评论(0) 有1119人浏览 2013-05-20 11:43

JDK1.5 Lock实例

JDK1.5 Lock实例       Executors类主要方法: a.       static ExecutorService newCachedThreadPool() 产生一个ExecutorService对象,这个对象带有一个线程池,线程池的大小会根据需要调整,线程执行完任务后返回线程池,供执行下一次任务使用 b.       static ExecutorServic ...
bijian1013 评论(0) 有1129人浏览 2013-05-20 11:42

threadLocal实例

实例1: package com.bijian.thread; public class MyThread extends Thread { private static ThreadLocal tl = new ThreadLocal() { protected synchronized Object initialValue() { return new Int ...
bijian1013 评论(0) 有1066人浏览 2013-05-20 11:42

简单生产消费者问题

生产者-消费者问题 a.       在多线程程序中,可能出现生产者-消费者问题,即等待同步数据的问题       b.        可能出现的问题:      a)         生产者比消费者快时,消费者会漏掉一些数据没有取到      b)        消费者比生产者快时,消费者取相同的数据 c.
bijian1013 评论(0) 有1133人浏览 2013-05-19 15:04

wait-notify机制

wait-notify机制 a.       当synchronized方法中的wait方法被调用时,当前线程将被中断运行,并且放弃该对象的锁 b.       一旦线程调用了wait方法,它便进入该对象的等待列表。要从等待列表中删除该线程,使它有机会继续运行,其它线程必须调用同一个对象上的notify或者notifyAll方法 c.       当线程再次成为可运行的线程后,它们便试图重 ...
bijian1013 评论(0) 有1293人浏览 2013-05-19 15:01

synchronized同步块实例

synchronized同步块实例        在java中,每个对象都包含了一把锁(也叫做“监视器”),它自动成为对象的一部分(不必为此写任何特殊的代码)。在给定时刻,只有一个线程可以拥有一个对象的监视器。        示例:线程1进入withdrawal方法时,获得监视器(加锁);当线程1的方法执行完毕返回时,释放监视器(开锁),线程2的withdrawal方能进入
bijian1013 评论(0) 有1757人浏览 2013-05-19 14:58

Runnable接口使用实例

Runnable接口 a.       该接口只有一个方法:public void run(); b.       实现该接口的类必须覆盖该run方法 c.       实现了Runnable接口的类并不具有任何天生的线程处理能力,这与那些从Thread类继承的类是不同的 d.       为了从一个Runnable对象产生线程,必须再单独创建一个线程对象,并把
bijian1013 评论(0) 有2097人浏览 2013-05-19 14:55

守护线程

什么是守护线程 a.       在客户/服务器模式下,服务器的作用是等待用户发来请求,并按请求完成客户的工作 b.       守护线程是为其它线程提供服务的线程,如定时器线程 c.       守护线程一般应该是一个独立的线程,它的run()方法是一个无限循环 d.       守护线程与其它线程的区别是:如果守护线程是唯一运行着的线程,程序会自动退出 e.       把线程变成 ...
bijian1013 评论(0) 有1153人浏览 2013-05-19 14:53

几种不同的循环依赖

    最近想了想循环依赖这个问题,发现循环依赖这个东东还遇到的真不少,下面就来说一下我遇到过的三种循环依赖,读者要是还有其他的循环依赖 ...
ddlgyq 评论(2) 有7767人浏览 2013-05-16 16:42

TCP/IP 应用程序的通信连接模式

转载:TCP/IP 应用程序的通信连接模式 本文的作者通过分析 TCP/IP 程序在不同级别上采用的不同方式来向您讲述了如何设计好 TCP/IP 应用程序的通信模式以及需要注意的相关问题。   TCP/IP 应用层与应用程序          TCP/IP 起源于二十世纪 60 年代末美国政府资助的一个分组交换网络研究项目,它是一个真正的开放协议,很多不同厂家生产各种型号的计算机,它 ...
wangchongbiao 评论(0) 有1163人浏览 2013-05-15 17:08

实现线程的两种方式

java实现多线程有两种方法 继承Thread类 实现Runnable接口 继承Thread类 public class ThreadDemo extends Thread { private String name; public ThreadDemo(String name) { this.name = name; } ...
flyvszhb 评论(0) 有1273人浏览 2013-03-10 18:21

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics