もう1つのおそらく非常識なスタイルの質問:
並行性をどのようにロックする必要がありますか?エグゼキュータまたは呼び出し元は、スレッドをロックする責任がありますか?
たとえば、特定の言語ではありません。
Caller::callAnotherThread() {
_executor.method();
}
Executor::method() {
_lock();
doSomething();
_unlock();
}
また
Caller::callAnotherThread() {
_executor.lock()
_executor.method();
_executor.unlock()
}
Executor::method() {
doSomething();
}
スレッド化とロックについてはほとんど知らないので、コードが堅牢であることを確認したいと思います。2番目のメソッドは、スレッドセーフでない呼び出しを許可します...技術的には、いかなる種類のロックも実行せずに_executor.method()を呼び出すことができます。
ヘルプ?
ありがとう、