该模式可以确保执行处理的线程只能是一个,这样就可以有效防止实例不一致。
Immutable模式,即实例一旦创建完毕,其内容便不可更改的模式。在该模式下,由于实例不会不一致,所以无需执行互斥处理,程序性能也能提高。
Guarded Suspension模式,即在实例进入目标状态之前,防止线程继续执行的模式。
Balking模式,即如果实例未进入目标状态,则中断方法执行的模式。该模式可防止执行无效的等待和多余的方法。
Producer-Consumer模式。在该模式下,多个线程能够协调运行。采用该模式时,生成数据的线程与使用数据的线程在并发运行时不会互相抢占。
将Read-Write Lock模式,该模式会采用灵活的互斥处理。在该模式下,写数据的线程只能有一个,但读数据的线程可以有很多。该模式能够提高程序的整体性能。
Thread-Per-Message模式,即将处理委托给其他线程的模式。在该模式下,线程可以将任务委托给其他线程,自己则直接处理接下来的工作。该模式能够提高程序的响应性。
WorkerThread模式,即多个线程通过线程池进行等待,然后按照顺序接受工作并执行的模式。该模式可减少创建线程时的资源消耗,还可以通过调节等待线程的个数来控制可用的资源量。
将Future模式。在该模式下,可以同步获取交给其他线程的任务的结果。该模式适用于调用异步方法的情况。
终止线程的Two-Phase Termination模式。该模式能够采用合适的终止处理来安全地终止线程。
Thread-SpecificStorage模式。在该模式下,每个线程都会拥有自己的变量空间。采用该模式时,多个线程之间的变量空间是完全分离的,所以并不需要执行互斥处理。
将Active Object模式。在该模式下,程序会创建主动对象。该主动对象将接收外部消息,并交由自己的线程来处理。采用该模式时,方法调用和方法执行是彼此分开的。