线程阻塞,单例模式

  以前自己理解不到位,单例模式下,只存在一个实例对象,那么在高并发的情况下,超级多的请求同时来访问这个类的同一个方法,那这个类忙的过来吗,还有这么多请求同时访问一个对象的方法,是不是要产生阻塞呢?
  细细区分,其实是两个问题?

  • 什么情况下产生线程阻塞 ?

      线程阻塞发生在多个线程访问需要等待的资源的情形下,阻塞和是否是单例,多例是没有关系的。  

  • 单例多线程

      现在对这个问题有了新的认识,其实在真正的应用场景中,比如springMVC中的controller,默认是单例的,但是web容器可是多线程的,这样,其实一个单例多线程对象在处理高并发的时候还是很容易的。举个不太恰当的例子,单例对象中的方法,就好比是菜谱,运行具体方法的线程,就好像是厨师对着同一个菜谱做菜,当然这个过程是并发完成的。
    参考:
    https://www.oschina.net/question/2709988_2273327
    https://blog.csdn.net/a363722188/article/details/40739619

猜你喜欢

转载自blog.csdn.net/u010758410/article/details/80056813