我在 c# 中有一个类 ReceiveFaxPrintHelper,我将其实现为 Sealed。我也将其实现为单例。我在这个类中定义了一个方法 PrintStoredFaxes,我使用锁来保护它。
我的问题是,如果我将 ReceiveFaxPrintHelper 从类更改为结构,这会影响我的线程吗?Ndepend 建议我将其更改为结构而不是类。
public sealed class ReceiveFaxPrintHelper
{
private static AutoResetEvent mJobCompleted = new AutoResetEvent(false);
private bool mPrintStoredFaxesInProgress = false;
private object mLockPrint = new object();
private const string mClassName = "ReceiveFaxPrintHelper";
/// <summary>
/// Function that prints the Stored Faxes
/// </summary>
/// <param name="o">completing the delegate message signature</param>
public void PrintStoredFaxes(object o)
{
lock (mLockPrint)
{
我这样使用:
ThreadPool.QueueUserWorkItem(new WaitCallback(ReceiveFaxPrintHelper.Instance.PrintStoredFaxes));