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