From 8003f8ed5884caf4a72981896f03510abd33b7c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E6=B5=A6=20=E7=9F=A5=E4=B9=9F=20Matsuura=20Tomoy?= =?UTF-8?q?a?= Date: Mon, 30 Jun 2025 11:47:51 +0900 Subject: [PATCH] [obsidian] vault backup: 2025-06-30 11:47:51[ --- content/mimiumのREPLをVMで実装.md | 12 ++++++++++++ content/private | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/content/mimiumのREPLをVMで実装.md b/content/mimiumのREPLをVMで実装.md index 8cf83f37..712ea4ae 100644 --- a/content/mimiumのREPLをVMで実装.md +++ b/content/mimiumのREPLをVMで実装.md @@ -56,4 +56,16 @@ fn repl_001(){ 結局、今VMに乗ってるだいたいのものはShared Stateとして共有されて、スタック、ベースポインタ、StateStorageだけが独立する形になりそう +--- + +シングルスレッドの場合、REPLで実行されたものは必ずオーディオドライバのブロック頭で消化 + +マルチスレッド前提の場合、Shared State全般がRwLockとかで包まれることになってしまう + +しかし、大概の場合グローバルな状態共有はAtomicな単一パラメーターで済む + +あくまで、普通のグローバル変数宣言はスレッドローカルな扱いにして、メインスレッドと協調しないといけない場合は"shared"みたいなキーワードをつけるようにするとか(構文増やしたくないけど) + +だし、これだと結局OSC送るサーバークライアント構成と実質的に変わらないかも + diff --git a/content/private b/content/private index cf8c5cc9..4b68cfe3 160000 --- a/content/private +++ b/content/private @@ -1 +1 @@ -Subproject commit cf8c5cc9e868b54dd1de9c68cff219f4e263ca39 +Subproject commit 4b68cfe37b51e36bab37250e368440ea0a4fd8f8