多线程架构设计模式 | Java

331 阅读1分钟

归纳总结 《Java高并发编程详解》一书 多线程架构设计模式 部分,有很多东西在不同Java框架、语言中都是通用的,比如 Future、Worker、EventBus等,因此觉得深刻理解这些设计模式很有用。

先开个坑,后续慢慢补充

自定义线程工厂

public class NamedThreadFactory implements ThreadFactory {

    private final ThreadGroup group = Thread.currentThread().getThreadGroup();
    private final AtomicInteger threadNumber = new AtomicInteger(1);
    private final String namePrefix;

    public NamedThreadFactory() {
        namePrefix = "pool-thread-";
    }

    public NamedThreadFactory(String namePrefix) {
        this.namePrefix = namePrefix;
    }


    public Thread newThread(Runnable r) {
        Thread t = new Thread(group, r,
                namePrefix + threadNumber.getAndIncrement(),
                0);
        if (t.isDaemon())
            t.setDaemon(false);
        if (t.getPriority() != Thread.NORM_PRIORITY)
            t.setPriority(Thread.NORM_PRIORITY);
        return t;
    }
    
}

监控任务的生命周期

TODO...

Single Thread Exceution 设计模式

TODO...

读写锁分离设计模式

TODO...

不可变对象设计模式

TODO...

Future 设计模式

TODO...

Guarded Suspension 设计模式

TODO...

线程上下文设计模式

TODO...

Balking 设计模式

TODO...

Latch 设计模式

TODO...

Thread-Per-Message 设计模式

TODO...

Two Phase Termination 设计模式

TODO...

Worker-Thread 设计模式

TODO...

Active Objects 设计模式

TODO...

Event Bus 设计模式

TODO...

Event Driven 设计模式

TODO...