--- nono/vm/thread.h 2026/04/29 17:05:10 1.1.1.1 +++ nono/vm/thread.h 2026/04/29 17:05:28 1.1.1.4 @@ -18,8 +18,14 @@ class ThreadDevice : public Device { using inherited = Device; public: - ThreadDevice(const std::string& objname_); - virtual ~ThreadDevice() override; + enum class AffinityClass { + Light, // 処理の軽いスレッド + Heavy, // 処理の重いスレッド + }; + + public: + explicit ThreadDevice(uint objid_); + ~ThreadDevice() override; // スレッド名を設定する void SetThreadName(const char *threadname_); @@ -37,6 +43,9 @@ class ThreadDevice : public Device // スレッドに終了を指示する virtual void Terminate() = 0; + // このスレッドのアフィニティを示唆する + void SetThreadAffinityHint(AffinityClass hint); + std::unique_ptr thread {}; // スレッド開始同期用