上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 23 下一页

2014年11月26日

设计模式1---普通工厂模式

摘要: 工厂模式的精髓在于:当需要不同的条件产生具有多态性质的一组类时,可以考虑使用factory类,来生成。所以工厂模式的特征:1.需要有一个抽象的基类。2.需要用到一组子类,这些类需要相同的基类。3.需要通过一个factory类的static方法产生这一组基类。下面是一个计算器的例子:UML图如下:如上... 阅读全文

posted @ 2014-11-26 14:21 Joyfulmath 阅读(303) 评论(0) 推荐(0) 编辑

设计模式 序

摘要: 设计模式是前人总结的“内功心法”。是通过大量实践和操作总结出来的经验。 代码设计的原则在于:可复用,易扩展,低耦合性。 尤其是前台界面逻辑和后台业务逻辑,应该是隔离开来。 最合理的状态应该是,修改或增加某个功能,只需要做少量的修改即可。 面向对象的特点就是,封装,继承和多态。应该尽可能的... 阅读全文

posted @ 2014-11-26 14:00 Joyfulmath 阅读(198) 评论(0) 推荐(0) 编辑

2014年11月21日

秒杀多线程第十四篇 读者写者问题继 读写锁SRWLock (续)

摘要: java 包实现了读写锁的操作:package com.multithread.readwritelock;import java.util.concurrent.CountDownLatch;import java.util.concurrent.Executor;import java.util... 阅读全文

posted @ 2014-11-21 16:15 Joyfulmath 阅读(369) 评论(0) 推荐(0) 编辑

转---秒杀多线程第十四篇 读者写者问题继 读写锁SRWLock

摘要: 在《秒杀多线程第十一篇读者写者问题》文章中我们使用事件和一个记录读者个数的变量来解决读者写者问题。问题虽然得到了解决,但代码有点复杂。本篇将介绍一种新方法——读写锁SRWLock来解决这一问题。读 写锁在对资源进行保护的同时,还能区分想要读取资源值的线程(读取者线程)和想要更新资源的线程(写入者线程... 阅读全文

posted @ 2014-11-21 16:12 Joyfulmath 阅读(424) 评论(0) 推荐(0) 编辑

2014年11月20日

转---秒杀多线程第十二篇 多线程同步内功心法——PV操作上 (续)

摘要: PV操作的核心就是 PV操作可以同时起到同步与互斥的作用。1.同步就是通过P操作获取信号量,V操作释放信号量来进行。2.互斥其实就是,同时操作P操作,结束后进行V操作即可做到。Java上实现PV操作可以通过Semaphore来实现。package com.multithread.pvoperator... 阅读全文

posted @ 2014-11-20 11:21 Joyfulmath 阅读(293) 评论(0) 推荐(0) 编辑

转---秒杀多线程第十二篇 多线程同步内功心法——PV操作上

摘要: 阅读本篇之前推荐阅读以下姊妹篇:《秒杀多线程第四篇一个经典的多线程同步问题》《秒杀多线程第五篇经典线程同步关键段CS》《秒杀多线程第六篇经典线程同步事件Event》《秒杀多线程第七篇经典线程同步互斥量Mutex》《秒杀多线程第八篇经典线程同步信号量Semaphore》《秒杀多线程第九篇经典线程同步总... 阅读全文

posted @ 2014-11-20 11:15 Joyfulmath 阅读(416) 评论(0) 推荐(0) 编辑

2014年11月12日

秒杀多线程第十一篇 读者写者问题(续)

摘要: java实现:本问题的关键是读者写者之间的同步问题,尤其使用java来操作。1.等待读者,使用CountDownLatch mReaderLatch, 但是CountDownLatch只能使用一次,所以需要每次都new 一个。或者可以考虑使用semaphore代替,但是semaphore需要acqu... 阅读全文

posted @ 2014-11-12 17:50 Joyfulmath 阅读(306) 评论(0) 推荐(1) 编辑

转---秒杀多线程第十一篇 读者写者问题

摘要: 与上一篇《秒杀多线程第十篇 生产者消费者问题》的生产者消费者问题一样,读者写者也是一个非常著名的同步问题。读者写者问题描述非常简单,有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件。上面是读者写者问题示意图,类似于生产者消费者问... 阅读全文

posted @ 2014-11-12 17:42 Joyfulmath 阅读(278) 评论(0) 推荐(0) 编辑

秒杀多线程第十篇 生产者消费者问题 (续)

摘要: 使用java 和semaphore实现的 ,多个生产者和多个消费者的问题。1.使用Semaphore,Semaphore的大小设定为BUFFER_LENGTH。也就是同时最多有这么多线程来操作缓冲区。2个semaphore, empty和exist。默认开始缓冲区为空1)StoreEmpty 在开始... 阅读全文

posted @ 2014-11-12 10:30 Joyfulmath 阅读(449) 评论(0) 推荐(0) 编辑

转----秒杀多线程第十篇 生产者消费者问题

摘要: 继经典线程同步问题之 后,我们来看看生产者消费者问题及读者写者问题。生产者消费者问题是一个著名的线程同步问题,该问题描述如下:有一个生产者在生产产品,这些产品将提供给 若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中... 阅读全文

posted @ 2014-11-12 10:14 Joyfulmath 阅读(287) 评论(0) 推荐(0) 编辑

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 23 下一页

导航