0

毎秒 2 回以上呼び出されるメソッド名「LogClick」があります。私はそれを伝統的な方法で呼んでいます:

Call New MyClass().LogClick()

「LogClick」を呼び出すたびに、「MyClass」がインスタンス化されます。だから私は、「このメソッドを共有に変えてみませんか?」と思います。

Public Shared Sub LogClick()
...
End Sub

MyClass.LogClick()

このメソッドを共有に変換すると、パフォーマンス、同時実行、またはメモリの問題が発生しますか?

4

2 に答える 2

0

]おい、

それ自体はパフォーマンスの問題はありませんが、静的な変数は ASP.NET でもメモリに保持されます。したがって、それを説明する必要があります。しかし、一般的に、静的変数がない場合、パフォーマンスはインスタンスと同じになります...インスタンスの内容によっては、静的メソッドの方が優れている場合があります。

HTH。

于 2010-02-04T23:38:31.690 に答える
0

Shared (C# では静的) は、すべてのページ インスタンスが同じオブジェクトにアクセスするため、本質的に非スレッド セーフです。

「問題」は、LogClick() が何をしているかに完全に依存します。すべての行が実行された後、実行が別のスレッドに転送され、その後戻ってくると仮定して、コードを分析するには非常に注意する必要があります。

于 2010-02-04T23:38:48.630 に答える