示例#1
0
        private void OpenDir(string pathToDir, string pathToSave, OwnThreadPool ownThreadPool)
        {
            if (Directory.Exists(pathToDir))
            {
                string[] directories = Directory.GetDirectories(pathToDir);
                if (directories.Length != 0)
                {
                    foreach (var elem in directories)
                    {
                        OpenDir(elem, pathToSave, ownThreadPool);
                    }
                }
                string[] files = Directory.GetFiles(pathToDir);
                if (files.Length != 0)
                {
                    foreach (var elem in files)
                    {
                        do
                        {
                            Thread.Sleep(10);
                        } while (!ownThreadPool.IsHavingFreeThread());

                        ownThreadPool.StartNewTask(FileAnalizator.StartAnaliz, (elem, PathToSaveDirectory + "result.txt"));
                    }
                }
            }
        }
示例#2
0
        public void SearchDirectory()
        {
            OwnThreadPool ownThreadPool = new OwnThreadPool(FileAnalizator.StartAnaliz);

            ownThreadPool.NumberOfThread = 4;
            OpenDir(PathToRootDirectory, PathToSaveDirectory + "result.txt", ownThreadPool);
        }