设计模式总结(3)==========================================singleton pattern单件模式:确保一个类只有一个实例,并提供一个全局访问点。线程安全:同步getInstance方法:public synchronized static Single...
分类:
其他好文 时间:
2014-06-28 16:31:15
阅读次数:
299
1.多线程的安全隐患1.1>一块资源可能被多个线程共享,也就是多个线程可能会访问同一块资源,如多个线程访问同一个对象,变量,文件等当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题1.2>安全隐患示意图:1.3>安全隐患的解决办法:互拆锁1.4>互斥锁的使用格式@synchronized(...
分类:
编程语言 时间:
2014-06-24 11:47:01
阅读次数:
298
io_service的作用io_servie实现了一个任务队列,这里的任务就是void(void)的函数。Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run是执行队列中的任务,直到全部执行完毕,并且run可以被N个线程调用。Io_service是完全线程安全的...
分类:
其他好文 时间:
2014-06-24 10:48:03
阅读次数:
212
相关知识点:
[1] ChannelGroup是一个容纳打开的通道实例的线程安全的集合,方便我们统一施加操作。所以在使用的过程中可以将一些相关的Channel归类为一个有意义的集合,关闭的通道会自动从集合中移除,而且一个Channel可以属于多个ChannelGroup。常见的应用场景是 向一组通道广播消息;简化一组通道的关闭流程。
[2] 因为在Channel中流通的是Channel...
分类:
Web程序 时间:
2014-06-22 18:42:17
阅读次数:
322
转载:大关的博客Java多线程阻塞队列和并发集合本章主要探讨在多线程程序中与集合相关的内容。在多线程程序中,如果使用普通集合往往会造成数据错误,甚至造成程序崩溃。Java为多线程专门提供了特有的线程安全的集合类,通过下面的学习,您需要掌握这些集合的特点是什么,底层实现如何、在何时使用等问题。3.1 ...
分类:
编程语言 时间:
2014-06-22 13:38:04
阅读次数:
258
转发:大海巨浪Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable。另外还有JDK1.2中加入的同步包装类,这些类都是由Collections.synchronizedXXX工厂方法。同步容器都是线程安全的,但是对于复合操作,缺有些缺点:① ...
分类:
编程语言 时间:
2014-06-22 12:54:50
阅读次数:
319
在访问共享数据时通常使用同步。若不使用同步则可以将对象封闭在一个线程中达到线程安全的目的,该方法称为线程封闭(ThreadConfinement)。其中实现线程封闭中规范的方法是使用ThreadLocal类。线程封闭技术一种常用的使用场景是在JDBCConnection对象。publicclassConnectionHelp..
分类:
编程语言 时间:
2014-06-22 10:04:11
阅读次数:
403
IndexSearcher indexSearcher = new IndexSearcher(LuceneUtils.getDirectory()); // 指定所用的索引库这句会引发线程安全问题,在全剧终 IndexSearcher只能有一个对象才可以,所以在ArticleDocumentUti...
分类:
其他好文 时间:
2014-06-21 07:54:27
阅读次数:
214
显示老一套基本情况,自我介绍,项目描述,承担任务。Java基础:equals,hashcode。map的实现。String,stringBuffer,StringBudder区别。实现方式。Object含有的方法。继承,多态,重载。Servlet是线程安全的么Java两种实现线程的方式,有什么区别。...
分类:
Web程序 时间:
2014-06-20 15:55:43
阅读次数:
238
在没有正确同步的情况下,如果多个线程访问同一个变量,程序就存在隐患。有3种方法修复它:1. 不要跨线程共享变量;2. 使变量变量变为不可变的;3. 在任何访问变量的时候使用同步。示例:非线程安全的Servlet计算请求而没有必要的同步public class UnsafeCountingFactor...
分类:
编程语言 时间:
2014-06-20 14:18:43
阅读次数:
245