私はscalaで計算ライブラリを書いています。同様の機能を、一連のプロシージャとO(1)時間データ用に静的に割り当てられたメモリを含むネイティブのscalaシングルトンオブジェクトにグループ化します。
このアプローチは、シングルスレッドでの使用に適しています。ただし、異なるスレッドからライブラリ関数を同時に呼び出すと、一時データが上書きされ、呼び出し元に誤った応答が返される可能性があります。
このライブラリをコピーして、静的に割り当てられたすべてのメモリを関数のローカルスペース内に移動することで、スレッドセーフバージョンを作成できます。しかし、私はスレッドローカル変数を定義することによってそれを避けることを好みます。
Scalaでそれは可能ですか?