随笔分类 - 并发与分布式
摘要:1、创建一个Fork/Join池 ForkJoinPool 逻辑 实现一个任务来修改产品列表的价格。任务最初是负责更新一个队列中的所有元素。你将会使用10作为参考大小,如果一个任务必须更新超过10个元素,这些元素将被划分成两个部分,并创建两个任务来更新每个部分中的产品的价格。 2.加入任务的结果 F
阅读全文
摘要:1、newCachedThreadPool newCachedThreadPool() 方法创建一个缓存线程池。当需要执行新的任务会创建新的线程,如果它们已经完成运行任务,变成可用状态,会重新使用这些线程。 缓存线程池的优点:线程重复利用,它减少线程创建的时间。 缓存线程池的缺点:为新任务不断创建线
阅读全文
摘要:1、Semaphore 信号量 Semaphore(信号量)是一个控制访问多个共享资源的计数器。 当一个线程想要访问某个共享资源,首先,它必须获得semaphore。如果semaphore的内部计数器的值大于0,那么semaphore减少计数器的值并允许访问共享的资源。计数器的值大于0表示,有可以自
阅读全文
摘要:1、ReentrantLock (1)、lock()、unlock()一对方法与synchronized 意思一样,unlock()方法 要在finally里面释放。 (2)、tryLock()方法:如果一 个线程调用这个方法不能获取Lock接口的控制权时,将会立即返回并且不会使这个线程进入睡眠。这
阅读全文
摘要:1、Thread 类的join() 方法 当前线程调用某个线程的这个方法时,它会暂停当前线程,直到被调用线程执行完成。 例子: 输出为: run: Begin Main Begin DataSourcesLoader End DataSourcesLoader End Main BUILD SUCC
阅读全文
摘要:1、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 答:主要相同点:Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。它的优势有: 可以使锁更公平 可以使线程在
阅读全文
摘要:1、 Volatile的实现原理 2、Synchronized 实现原理 3、线程池的分析和使用 我们可以通过ThreadPoolExecutor来创建一个线程池。 new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime
阅读全文
摘要:示例代码: public class SyncTest { private List<String> list= new ArrayList<String>(); public void syncAddPrint(){ synchronized(list){ for(int i = 0; i < 1
阅读全文
摘要:1、说出至少三种可在WWV广播时间和在分布式系统中处理机设置内部时钟之间引入的延迟源。 答:信号在大气中的传播延迟,当机器在协调WWV接受者与以太网时的碰撞延迟,包在局域网上的传播延迟,各个处理器由于中断处理延迟和内部队列延迟所产生的延迟。 2、考虑分布式系统中的两台机器的行为。这两台机器的时钟假设
阅读全文
摘要:1、对共享的JAVA对象的访问可以通过将其方法声明为同步的而被串行化.当这种对象被复制时,这种方法足以保证访问的串行化吗? 答:不能.问题是对每一个复制对象的访问是串行化的.但是对不同的复制对象可以在同一时间进行不同的操作,使得复制的实例变量不一致. 2、对于第一章所讨论的监视器,如果允许在一个复制
阅读全文
摘要:1. Q: Give an example of where an address of an entity Eneeds to be further resolved into another address to actuallyaccess E. A: IP addresses in the
阅读全文
摘要:1、在许多分层协议中,每一层都有自己的报头。如果每个消息前部都只有单个报头,其中包含了所有控制信息,无疑会比使用单独的多个报头具有更高的效率。为什么不这么做? 答:协议的每一层都必须和其它层相独立。从第k+1层传送至第k层的数据同时包含了报头和数据,但是第k层协议不能对它们进行辨别。如果使用单个大的
阅读全文
摘要:第一章绪论 1、中间件在分布式系统中扮演什么角色? 答:中间件主要是为了增强分布式系统的透明性(这正是网络操作系统所缺乏的),换言之,中间件的目标是分布式系统的单系统视图。 2、解释(分布)透明性的含义,并且给出各种类型透明性的例子。 答:分布透明性是一种现象,即一个系统的分布情况对于用户和应用来说
阅读全文
摘要:1.比较使用单线程文件服务器读取文件和使用多线程服务器读取文件有什么不同。花费15ms来接收请求、调度该请求并且完成其它必须的处理工作,假定需要的数据存放在主存储器的缓存中。如果需要磁盘操作,就需要额外多花75ms在磁盘操作的过程中线程处于睡眠状态。如果服务器采用单线程的话,它每秒能处理多少个请求?
阅读全文
摘要:原文地址:Apache+Tomcat负载均衡两种session共享方式的设置作者:梦回两千载 session共享有两种方式: 1、session共享,多个服务器session拷贝保存,一台宕机不会影响用户的登录状态; 2、请求精确集中定位,即当前用户的请求都集中定位到一台服务器中,这样单台服务器保存
阅读全文
摘要:通通透透理解ThreadLocal,实现安全的多线程 2008-08-22 16:10 276人阅读 评论(0) 收藏 举报 我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。 我们使用
阅读全文
浙公网安备 33010602011771号