public void ProcessTaskList() { while (!stopManager) { lock (taskList) { int count = Math.Min(taskList.Count, MAX_THREAD_NUM); for (int i = 0; i < count; i++) { MapTileIndex mapTileIndex = GetOneTask(); MapTileDownloadWorker mapTileDownloadWorker = new MapTileDownloadWorker(this, mapTileIndex); mapTileDownloadWorker.DownloadMapTile(); //Thread downloadThread = new Thread(new ThreadStart(mapTileDownloadWorker.DownloadMapTile)); //downloadThread.Start(); } } lock (retryList) { int count = Math.Min(retryList.Count, MAX_THREAD_NUM); for (int i = 0; i < count; i++) { MapTileIndex mapTileIndex = GetOneTaskFromRetryList(); MapTileDownloadWorker mapTileDownloadWorker = new MapTileDownloadWorker(this, mapTileIndex); mapTileDownloadWorker.DownloadMapTile(); //Thread downloadThread = new Thread(new ThreadStart(mapTileDownloadWorker.DownloadMapTile)); //downloadThread.Start(); } } } }
public void ProcessTaskList() { while (!stopManager) { lock (taskList) { int count = Math.Min(taskList.Count, MAX_THREAD_NUM); for (int i = 0; i < count; i++) { MapTileIndex mapTileIndex = GetOneTask(); MapTileDownloadWorker mapTileDownloadWorker = new MapTileDownloadWorker(this, mapTileIndex); mapTileDownloadWorker.DownloadMapTile(); //Thread downloadThread = new Thread(new ThreadStart(mapTileDownloadWorker.DownloadMapTile)); //downloadThread.Start(); } } lock (retryList) { int count = Math.Min(retryList.Count, MAX_THREAD_NUM); for (int i = 0; i < count; i++) { MapTileIndex mapTileIndex = GetOneTaskFromRetryList(); MapTileDownloadWorker mapTileDownloadWorker = new MapTileDownloadWorker(this, mapTileIndex); mapTileDownloadWorker.DownloadMapTile(); //Thread downloadThread = new Thread(new ThreadStart(mapTileDownloadWorker.DownloadMapTile)); //downloadThread.Start(); } } } }