Java StructuredTaskScope (preview)

자바 구조화 태스크 범위 (미리보기)

A parent scope owns child task start, join, and cancellation.

···
html
<div class="v"><header><b>STRUCTURED TASKS</b><span id="state"></span></header><main><div class="parent">PARENT REQUEST</div><div class="forks" id="forks"></div><div class="join" id="join"></div></main><footer>children finish within parent scope</footer></div>
css
.v{width:min(92vw,660px);height:min(86vh,310px);box-sizing:border-box;padding:clamp(9px,2.5vmin,18px);border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:7px;color:var(--fg);font:500 clamp(15px,3.2vmin,17px)/1.25 var(--font-sans, sans-serif)}.v header,.v footer{display:flex;justify-content:space-between;align-items:center;gap:8px;white-space:nowrap}.v header b{color:var(--accent);font-size:.9em}.v header span,.v footer{color:var(--muted);font-size:.82em}.v main{flex:1;min-height:0;position:relative;overflow:hidden}.v .mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.v .active{background:var(--accent)!important;color:var(--bg)!important;border-color:var(--accent)!important}.v .muted{opacity:.28} .parent{text-align:center;padding:6px;border:1px solid var(--line);border-radius:5px;font:600 .85em ui-monospace,monospace}.forks{height:46%;display:flex;align-items:center;justify-content:space-around;gap:8px}.child{width:43%;padding:9px 3px;border:1px solid var(--line);border-radius:5px;text-align:center;font:600 .82em ui-monospace,monospace}.join{text-align:center;color:var(--accent);font:600 .8em ui-monospace,monospace}
js
let n=0;const a=["running","failed","failed","closed"],b=["running","running","cancelled","closed"];function draw(){document.getElementById("forks").innerHTML="<div class=\"child "+(n===1?"active":"")+"\">CHILD A<br>"+a[n]+"</div><div class=\"child "+(n===2?"active":"")+"\">CHILD B<br>"+b[n]+"</div>";document.getElementById("join").textContent=["fork both","A fails","cancel B","scope joins / closes"][n];document.getElementById("state").textContent="step "+(n+1);n=(n+1)%4}draw();setInterval(draw,920)

StructuredTaskScope forks children within a parent scope and joins their outcomes before the scope exits. A failure policy can cancel siblings after one child fails.

This is a preview feature in Java 26, requiring preview options and subject to change. The demo follows parent-owned start, failure, and sibling cleanup.

When to use

Consider it when one request owns parallel children and their failure handling.

Open as page ↗