结构化并发:
一个简单的原则,即当执行流分成多个并发流时,它们会在同一个代码块中重新加入。
基于此,假设我有如下内容:
//can replace this with Virtual thread
public static void delegateTask() {
Thread delegator = new Thread(new TaskDeligator());
delegator.setName("TaskDeligatorThread");
logger.info("Creating task delegator thread....which will register listeners");
delegator.start();
}
问题 1: 我创建了一个新的子线程(TaskDeligatorThread),但没有在同一个代码块中完成/结束/重新加入,即方法delegateTask() - 这是否意味着它不遵循结构化并发原则?
问题 2: 可能存在 Thread1 想要将某些任务委托给子线程(Thread1 将创建)而 Thread1 不需要等待子线程的输出/完成的情况。在这种情况下,我再次不会在创建子线程的代码块中完成/结束/重新加入子线程。在这种情况下,我将如何遵循结构化并发?