From 925ab619ead90124abdab6202d91980d992b1e11 Mon Sep 17 00:00:00 2001
From: ulysseskao <ulysseskao@gmail.com>
Date: Tue, 03 May 2016 19:33:17 +0800
Subject: [PATCH] add thread setting
---
CCSTrace/CCS/CCSMain.cs | 45 ++++++++++++++++++++++++++++++++++-----------
1 files changed, 34 insertions(+), 11 deletions(-)
diff --git a/CCSTrace/CCS/CCSMain.cs b/CCSTrace/CCS/CCSMain.cs
index 49b05a5..a9a480b 100644
--- a/CCSTrace/CCS/CCSMain.cs
+++ b/CCSTrace/CCS/CCSMain.cs
@@ -77,8 +77,8 @@
throw;
}
- var addrContrast = AddrContrast.Instance;
- addrContrast.initialize(_mainConn);
+ AddrContrast.Instance.Initialize(_mainConn);
+ AlarmData.Instance.Initialize(_mainConn);
CCSEventRecord ccsEventRecord = GetWaitRecord(_mainConn);
@@ -108,11 +108,32 @@
GC.WaitForPendingFinalizers();
}
+ public void AcceptEvent2(CCSEventRecord ccsEventRecord)
+ {
+ // WorkItemCallback workItemCallback = new WorkItemCallback(this.DoEventWork);
+ _mainjobThreadPool.QueueWorkItem(DoEventWork, ccsEventRecord);
+ }
+
+ private void DoEventWork(CCSEventRecord state)
+ {
+ OracleConnection conn;
+ lock (_syncDbQueue) conn = _dbQueue.Dequeue();
+
+ try
+ {
+ AcceptEvent(state);
+ }
+ finally
+ {
+ lock (_syncDbQueue) _dbQueue.Enqueue(conn);
+ }
+
+
+ }
+
public void AcceptEvent(CCSEventRecord ccsEventRecord)
{
/*
- WorkItemCallback workItemCallback = new WorkItemCallback(this.DoWork);
- _mainjobThreadPool.QueueWorkItem(workItemCallback, ccsEventRecord);
WIGStartInfo wigStartInfo = new WIGStartInfo()
{
FillStateWithArgs = true,
@@ -138,7 +159,7 @@
if (waitCcsEventRecord != null)
{
- OracleConnection conn = null;
+ OracleConnection conn;
lock (_syncDbQueue) conn = _dbQueue.Dequeue();
ProcessCase(waitCcsEventRecord, conn);
}
@@ -170,10 +191,12 @@
{
string file = Path.Combine(AppDataPath, DbConfigFilename);
// 建立 XML 讀取器
- XmlReaderSettings settings = new XmlReaderSettings();
- settings.IgnoreComments = true; // 不處理註解
- settings.IgnoreWhitespace = true; // 跳過空白
- settings.ValidationType = ValidationType.None; // 不驗證任何資料
+ XmlReaderSettings settings = new XmlReaderSettings
+ {
+ IgnoreComments = true, // 不處理註解
+ IgnoreWhitespace = true, // 跳過空白
+ ValidationType = ValidationType.None // 不驗證任何資料
+ };
reader = XmlReader.Create(file, settings);
// 進入讀取主要部分
@@ -231,8 +254,8 @@
{
OracleConnectionStringBuilder builder = new OracleConnectionStringBuilder(GlobalVariable.ConnectionString)
{
- MaxPoolSize = 20,
- MinPoolSize = 5,
+ MaxPoolSize = GlobalVariable.MaxConnectionCount,
+ MinPoolSize = 1,
Pooling = true
};
string connectstring = builder.ToString();
--
Gitblit v0.0.0-SNAPSHOT