摘要: 第一题: 现有的程序代码模拟产生了16个日志对象,并且需要运行16秒才能打印完这些日志,请在程序中增加4个线程去调用parseLog()方法来分头打印 这16个日志对象,程序只需要运行4秒即可打印完这些日志对象。原始代码:public class Test { public static void main(String[] args){ System.out.println("begin:"+(System.currentTimeMillis()/1000)); /*模拟处理16行日志,下面的代码产生了16个日志对象,当前代码需要运行16秒才... 阅读全文
posted @ 2012-12-11 21:21 积小流,成江海 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要: 这里主要介绍了java5中线程锁技术以外的其他同步工具,首先介绍semaphore:一个计数信号量。用于控制同时访问资源的线程个数, CyclicBarrier同步辅助类:从字面意思看是路障,这里用于线程之间的相互等待,到达某点后,继续向下执行,CountDownLatch同步辅 助类:在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。犹如倒计时计数器,然后是Exchangeer:实现两个 对象之间数据交换,可阻塞队列:ArrayBlockingQueue,通过阻塞队列间的通信来演示其作用,最后介绍了几个同步集合。一... 阅读全文
posted @ 2012-12-11 20:42 积小流,成江海 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 笔记摘要: 这里首先介绍了java5中的并发的小工具包:automatic,然后介绍了线程池的概念,对使用java5的方式创建不同形式的线程进行了演示, 之后介绍了两个 对象:Callable和Future,用于获取线程执行后的结果,对于线程锁技术则在另外一篇文章中介绍。Java5中的线程并发库都在java.util.concurrent包及子包中一、java.util.concurrent.atomic包: 类的小工具包,支持在单个变量上解除锁的线程安全编程1、如果同一个变量要被多个线程访问,则可以使用该包中的类: AtomicBoolean... 阅读全文
posted @ 2012-12-11 19:56 积小流,成江海 阅读(320) 评论(0) 推荐(0) 编辑