0

在该代码中,我想使用 Lock(this) 方法并在 asp.net 中使用多线程如何使用它,请解释一下。我想在它的方法中使用多线程所以请

    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 回答