使用lock方法的多线程的asp.net

时间:2012-10-29 06:19:57

标签: asp.net multithreading

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

    try
    {

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

//这里我想要Lock方法,所以请你解释一下

            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;
    }
}

现在我已经提到锁定代码的创建位置请给我肯定的答复谢谢......

1 个答案:

答案 0 :(得分:1)

您尚未明确要锁定的代码部分。

锁的一般用法是这样的

定义班级变量

private static object syncRoot = new Object();

以及何时使用

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

希望有所帮助

Milind