
No.2ベストアンサー
- 回答日時:
> メソッドがマルチスレッドに対応しているということですね。
> それでスレッドセーフと言います。
表現がわずかに違うだけですが、メソッド自体は基本的にマルチスレッドに対応します。ただし、スレッドセーフでない場合は『処理結果に矛盾が生じることがある』ということです。
「スレッドセーフでないメソッドはマルチスレッドでは使えない」と解釈してしまうのは間違いですので、念のため補足しておきます。
スレッドセーフとは、『マルチスレッド環境下の動作で矛盾が発生しないこと』を保証するものであり『設定された値』を保証するものではありません。
ありがとうございます。
値を保証するのではなく、処理が完了できずに、
処理が身動きが取れなくなるデッドロックが発生しないように作成されたメソッドをスレッドセーフというのですね。
スレッドプール・デリゲートさせてのコールバック・タイマー・排他制御・同期制御・・・
Visual Basicの名前空間にあるクラスのソースコードは見ることができないんですか?
著作権の関係上非公開なんですかね・・・
マルチスレッドの使いどころがDBとかならわかりますが、いまのところソフトに・・電卓に・・応用できそうにないですね。
もうちょっと勉強してからスレッドセーフは学びたいと思います。
No.1
- 回答日時:
スレッドセーフとは、複数のスレッドからひとつのメンバにアクセスした際、同じタイミングであっても処理の衝突や矛盾が起こらずに正しく処理されることが保証されている機構のことです。
質問文のケースでは、Sharedなメンバであればスレッドセーフになっているが、インスタンスを作成したクラスの場合はそれが保証されない、ということを言っていると思います。
> マルチスレッド対応のクラスで使用すると、値が保証できない
マルチスレッドにおいてインスタンスを作成したクラスから使用すると、スレッドセーフが保証されない。
と言ったほうがより正確ですね。
スレッドセーフを知るにはマルチスレッド全体について知る必要がありますので、参照URLに私がよく読む記事を載せておきます。
参考URL:http://www.atmarkit.co.jp/fdotnet/mthread/index/ …
ありがとうございます。
メソッドがマルチスレッドに対応しているということですね。
それでスレッドセーフと言います。
参考URL拝見しました。
Invokeメソッドとか、用語が日々作られているようで古株でないと用語すらわからない状況です。
値が保証されるインスタンスを作成しないクラスというのは・・・
1.
オブジェクトを先に生成して、オブジェクト型をメソッドに投げたら保証するメソッドということですか?
2.
オブジェクト型を投げると保証はできないが、基本型(参照型・値型)なら保証するメソッドということですか?
インスタンスを作成しないクラスって・・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インスタンス参照でアクセスで...
-
private static という変数の修飾
-
VB.NET getとsetの概念がわかり...
-
C#において、同じインスタンス...
-
変数名の付け方
-
次の日本語の意味を教えて下さい
-
インスタンスを同じ名前で作成...
-
C#でオブジェクトの有無を取得する
-
オブジェクト参照がオブジェク...
-
C# クラスのインスタンスについて
-
serializeについて
-
javaについて
-
Javascriptのインスタンスって...
-
VB.NET Form1からForm2を開い...
-
生成したインスタンスを削除す...
-
Objective-C グローバル変数 値...
-
「タイプ初期化子が例外をスロ...
-
中学のクラス数
-
【sendkeysメソッドが動かずに...
-
ヒグマを撃退
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インスタンス参照でアクセスで...
-
変数名の付け方
-
private static という変数の修飾
-
C#において、同じインスタンス...
-
複数の変数を宣言する時、同時...
-
オブジェクト参照がオブジェク...
-
VB.NET getとsetの概念がわかり...
-
フォームの存在をチェックする方法
-
変数の参照でエラーが出てしま...
-
C# インスタンスの破棄
-
生成したインスタンスを削除す...
-
文字列を日付に変換でParseExce...
-
次の日本語の意味を教えて下さい
-
C#「オブジェクト参照が必要で...
-
SQLを連続発行する時の正しい(?...
-
「インスタンス」の意味をわか...
-
[Visual C#] 優先される処理に...
-
newしないインスタンス?実体化...
-
C#の構造体の開放のしかた
-
javaのクラスの作り方、エラー...
おすすめ情報