{
  "id": "bbg-p0095-ai-agents-and-tool-use",
  "title": "Java Virtual Threads",
  "chapter": "concurrency-runtime-and-scheduling",
  "batch": "27",
  "rank": 263,
  "sourcePage": 95,
  "sourcePointer": "p. 95",
  "status": "accepted",
  "reviewerStatus": "reviewed",
  "fidelityScore": 0.9,
  "canvas": {
    "width": 960,
    "height": 640
  },
  "fireworksTechGraph": {
    "style": "style-1-flat-icon",
    "diagramType": "architecture",
    "topologyNotes": [
      "source page render inspected",
      "extracted page text inspected",
      "source page render and extracted text inspected",
      "preserve virtual-thread topology: many virtual tasks mount onto fewer carrier/platform threads backed by OS threads",
      "retargeted from ai-agents-and-tool-use to concurrency-runtime-and-scheduling"
    ],
    "publicBoundary": [
      "original vector output",
      "no source pixels",
      "no source mark or long wording"
    ]
  },
  "callouts": [],
  "sourceReview": {
    "conceptAnchors": [
      "concept: virtual threads",
      "concept: carrier platform threads",
      "concept: OS threads",
      "concept: many lightweight tasks",
      "concept: mount unmount scheduling"
    ],
    "labelSource": "curated",
    "semanticStatus": "reviewed"
  },
  "groups": [
    {
      "id": "virtual",
      "label": "Many virtual threads",
      "x": 54,
      "y": 126,
      "w": 852,
      "h": 112
    },
    {
      "id": "carrier",
      "label": "Carrier/platform threads",
      "x": 54,
      "y": 290,
      "w": 852,
      "h": 104
    },
    {
      "id": "os",
      "label": "Operating system threads",
      "x": 54,
      "y": 446,
      "w": 852,
      "h": 78
    }
  ],
  "shapes": [
    {
      "id": "vt1",
      "kind": "rect",
      "label": "Virtual thread",
      "detail": "task A",
      "x": 100,
      "y": 154,
      "w": 132,
      "h": 54,
      "tone": "blue"
    },
    {
      "id": "vt2",
      "kind": "rect",
      "label": "Virtual thread",
      "detail": "task B",
      "x": 304,
      "y": 154,
      "w": 132,
      "h": 54,
      "tone": "blue"
    },
    {
      "id": "vt3",
      "kind": "rect",
      "label": "Virtual thread",
      "detail": "task C",
      "x": 508,
      "y": 154,
      "w": 132,
      "h": 54,
      "tone": "blue"
    },
    {
      "id": "vt4",
      "kind": "rect",
      "label": "Virtual thread",
      "detail": "task N",
      "x": 712,
      "y": 154,
      "w": 132,
      "h": 54,
      "tone": "blue"
    },
    {
      "id": "carrier1",
      "kind": "hex",
      "label": "Carrier thread",
      "detail": "platform",
      "x": 220,
      "y": 304,
      "w": 142,
      "h": 74,
      "tone": "orange"
    },
    {
      "id": "carrier2",
      "kind": "hex",
      "label": "Carrier thread",
      "detail": "platform",
      "x": 598,
      "y": 304,
      "w": 142,
      "h": 74,
      "tone": "orange"
    },
    {
      "id": "os1",
      "kind": "rect",
      "label": "OS thread",
      "detail": "kernel",
      "x": 244,
      "y": 462,
      "w": 118,
      "h": 48,
      "tone": "gray"
    },
    {
      "id": "os2",
      "kind": "rect",
      "label": "OS thread",
      "detail": "kernel",
      "x": 600,
      "y": 462,
      "w": 118,
      "h": 48,
      "tone": "gray"
    }
  ],
  "connectors": [
    {
      "from": "vt1",
      "to": "carrier1",
      "label": "mount",
      "flow": "main"
    },
    {
      "from": "vt2",
      "to": "carrier1",
      "label": "schedule",
      "flow": "control"
    },
    {
      "from": "vt3",
      "to": "carrier2",
      "label": "mount",
      "flow": "main"
    },
    {
      "from": "vt4",
      "to": "carrier2",
      "label": "schedule",
      "flow": "control"
    },
    {
      "from": "carrier1",
      "to": "os1",
      "label": "runs on",
      "flow": "data"
    },
    {
      "from": "carrier2",
      "to": "os2",
      "label": "runs on",
      "flow": "data"
    }
  ]
}
