[1327] スレッドセーフについて
投稿者:山
2009/06/01 11:32:47
会話の上で言語仕様に食い違いがあった原因を今理解しました。私の考慮不足だったの
ですが、当初より言語に求める基本機能に、スレッドセーフなシステムでした。この要求
に対しポインターや参照を操作することは、スレッドセーフを著しく阻害する要因です。
なぜなら、2つのスレッドで同じ参照を持った場合、そのデータアクセスに対しスレッド
セーフを自動で行うことはとても大変であり重い処理となります。同一スレッド内でも
その機構の一部が動いてしまいます。これは避けたいことです。
次の問題がもっと深刻です。参照先が複数データの場合、他の何らかのサポートなしに
参照された複数のデータをスレッドセーフにすることは原理的に不可能です。
以上2つの理由により、一番最初から、ポインターや参照を直接操作する行為は無いとの、
大前提が私の思考基本にありました。そのため、無意識にそれが前提で思考や会話をして
いたことを気がつきました。よくある事ですが考慮不足です。
では、スレッド間で複数のデータを渡す場合の方法が無いのではないだろうかと思われ
るでしょう。これには、変数集合体のパック、アンパック機能を提供し、複数の情報を
パックして他スレッドに渡すことで、スレッドセーフを保障しています。これは始めて
説明しています。その他にもスレッドセーフを自動保障するシステムがあります。まだ
説明されていません。しばらくお待ちください。なにぶん自己検証を先にしたくて。
本当に申し訳ありません。