多线程设计模式
原创转载请注明出处: https://www.cnblogs.com/agilestyle/p/11494963.html Single Threaded Execution —— 能通过这座桥的只有一个人 所谓“Single Threaded Execution”,即“以一个线程执行”,该模式用于设置限制,以确保同一时间内只让一个线程执行处理。 Immutable —— 想破坏也破坏不了 Immutable模式中存在着确保实例状态不发生改变的类(immutable类)。在访问这些实例时并不需要执行耗时的互斥处理,因此若能巧妙利用该模式,定能提高程序性能。 Guarded Suspension —— 等我准备好 如果执行现在的处理会造成问题,就让执行处理的线程等待,通过让线程等待来保证实例的安全性。 Balking —— 不需要就算了 如果现在不合适执行这个操作,或者没必要执行这个操作,就停止处理,直接返回。 Producer-Consumer —— 我来做,你来用 Producer:生成数据的线程 Consumer:使用数据的线程 Producer-Consumer模式在生产者和消费者之间加入了一个“桥梁角色”,该桥梁用于消除线程间处理速度的差异。 Read-Write Lock —— 大家一起读没问题,但读的时候不要写 当线程读取实例的状态时,实例的状态不会变化