繁体   English   中英

AdjustThreadsInPool,线程异常终止

[英]AdjustThreadsInPool , Thread Abort Exception

我的C#应用​​程序中有此异常。

System.Threading.ThreadAbortException: Thread was being aborted.
   at System.Threading.ThreadPool.AdjustThreadsInPool(UInt32 QueueLength)
   at System.Threading.ThreadPool.QueueUserWorkItemHelper(WaitCallback
callBack, Object state, StackCrawlMark& stackMark, Boolean compressStack)
   at System.Threading.ThreadPool.QueueUserWorkItem(WaitCallback callBack, Object state)
   at burhanClient.RowDeleterThreadManager.Push(String
message)
   at burhanClient.DeleteRow(Object OrdId)

DeleteRow () ...我要在一些睡眠时间后从网格中删除一行。...这是下面的代码:

public void DeleteRow(object OrdId)
{
    try
    {
        string OrderID = OrdId.ToString();
        Thread.Sleep(GlobalSettings.GetSettings().OrderDisappearTime);
        string query = ColumnOrderID.Name + " ='" + OrdId + "'";
        LiveOrdersDS.OrdersRow[] rows = CustomSelect(query);
        if (rows.Length > 0)
        {
            string status = converter.convertOrdStatus(rows[0].ColumnStatus.ToString());
            if (OrdStatus.FILLED == status || OrdStatus.CLOSED == status || OrdStatus.CANCLED == status)
            {
                // Start Temp Code
                logger.Info("Order: (" + OrderID + ") Deleting Row From Blotter");
                // End Temp Code
                RowDelThdManager.Push(OrderID);
            }
        }
    }
    catch (Exception ex)
    {
        SendMail(ex);
    }
}

已修复。ThreadPool正在生成它,我一直将相同的DEAD线程推入ThreadPool,这就是为什么发生此错误的原因。 多谢你们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM