Exemplo n.º 1
0
 //Запуск потоков
 public void StartThreads()
 {
     StartLog("Запуск потоков").Run(() =>
     {
         ReadThread.StartProcess();
         UserThread.StartProcess();
         ArchiveThread.StartProcess();
     });
 }
Exemplo n.º 2
0
 //Останов потоков
 public void StopThreads()
 {
     StartLog("Остановка потоков").Run(() =>
     {
         ReadThread.StopProcess();
         UserThread.StartProcess();
         ArchiveThread.StartProcess();
     });
 }
Exemplo n.º 3
0
 //Открытие потоков
 public void OpenThreads(double periodSeconds, double lateSeconds)
 {
     StartLog("Открытие потоков").Run(() =>
     {
         ReadThread    = OpenRealTimeThread(1, "Source", periodSeconds, lateSeconds);
         var aproxy    = new QueuedProxyConnect("ArchiveProxy");
         ReturnConnect = new ProxyConnect("UserProxy");
         ReadThread.Proxies.Add(aproxy.Code, aproxy);
         ReadThread.Proxies.Add(ReturnConnect.Code, ReturnConnect);
         foreach (var s in SchemeSources.Values)
         {
             var con = (IReadingConnect)ReadThread.AddConnect(s.Code);
             aproxy.InConnects.Add(s.Code, con);
             ReturnConnect.InConnects.Add(s.Code, con);
         }
         ArchiveThread = OpenProxyThread(2, "Archive", aproxy);
         ArchiveThread.AddConnect("Archive");
         ArchiveThread.Proxies.Add("ArchiveProxy", aproxy);
         UserThread = OpenRealTimeThread(3, "Return", periodSeconds);
         UserThread.Proxies.Add(ReturnConnect.Code, ReturnConnect);
     });
 }