0

そのコードでは、asp.net で複数のスレッドを使用して Lock(this) メソッドを使用したいのですが、その使用方法について説明してください。itメソッドでマルチスレッドを使いたいのでお願いします

    try
    {

        List<spEMS_MailSentSchedularListResult> dSchedularResult = ESManager.SendSchedularList();
        if (dSchedularResult != null)
        {

// ここでメソッドをロックしたいので、その説明をお願いします

            for (int i = 0; i < dSchedularResult.Count; i++)
            {
                try
                {
                    string strBody = "";

                    #region Creating STRBODY
                    strBody = AppConstant.MAIN_DIV_TAG_START + AppConstant.MAIN_TABLE_TAG_START_BGCOLOR.ToString() +

                                AppConstant.MAIN_TABLE_TR_TD_START_ALIGNMENT.ToString() +

                                AppConstant.MAIN_TABLE_TR_TD_END.ToString();
                    #endregion


                }
                catch (Exception ex)
                {
                    Page_Error(ex);
                }
            }
        }
    }
    catch (Exception ex)
    {
        Page_Error(ex);
    }
    finally
    {
        ESManager = null;
    }
}

今、私はロックのコードが作成されている場所について言及しました。肯定的な返信をお願いします。ありがとう...

4

1 に答える 1

1

ロックしたいコードの部分を明確にしていません。

ロックの一般的な使い方はこんな感じ

クラスレベル変数を定義する

private static object syncRoot = new Object();

そして、あなたが使用しているとき

lock (syncRoot)
{
// your code to be locked.
}

それが役立つことを願っています

ミリンド

于 2012-10-29T06:42:55.257 に答える