public void StartManagement() { // Đọc thông tin host //- Kiểm tra host đã có thông tin chưa DeviceVariablesService.MyHost = hostRepo.ReadHost(DeviceVariablesService.MyHostName); if (DeviceVariablesService.MyHost == null) { DeviceVariablesService.MyHost = hostRepo.AddHost(DeviceVariablesService.MyHostName); } // Đọc các LD chưa đủ 5 tài khoản từ database trên máy này List <Device> devices = devicesRepo.CheckDevicesAccount(DeviceVariablesService.MyHostName); // TH có thiết bị chưa đủ tài khoản if (devices.Count > 0) { // Cho chạy và tạo tài khoản từng device cho đến khi có thể chạy thêm Thread => thoát ra vòng for // Thoát khi threadRunning < maxThread foreach (var device in devices) { if (VariablesService.threadRunning < VariablesService.maxThread) { RunDeviceThreadCreateAcc(device); } else { while (VariablesService.threadRunning == VariablesService.maxThread) { Thread.Sleep(TimeSpan.FromSeconds(2)); } } } } // Trong điều kiện còn cho phép lập nick mới while (DeviceVariablesService.CreateBotLive) { if (DeviceVariablesService.ThreadRunning < DeviceVariablesService.MaxThread) { // Tạo và chạy 1 LD mới Device device = ldControl.CreateDevice(); // Tạo Thread mới => chạy LD RunDeviceThreadCreateAcc(device); } Thread.Sleep(2); } }