1. C# / Говнокод #25672

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    private async Task CountResultAsync(IProgress<bool> progress)
    {
         object sync = new object();
    
        await Task.Run(() => Parallel.For(0, _dataList.Count, i =>
        {
            lock (sync)
            {
                 var index = _dataList.FindIndex(m => m.FullPath.Equals(_dataList[i].FullPath));
    
                _dataList[index] = new GridModel()
                {
                    FullPath = _dataList[i].FullPath,
                    Name = _dataList[i].Name,
                    Checksum = GetFileChecksum(_dataList[i].FullPath),
                    IsCompleted = true
                };
           }
        }));
    }

    Когда кто-то пытается написать параллельный код, но что-то идет не так.

    Запостил: ShockWorker, 13 Июня 2019

    Комментарии (7) RSS

    • Ничего не понимаю. Переведи на "PHP".
      Ответить
    • создать на стеке объект и по нему синхронизироваься??
      в асинхронном коде???

      какая каша в голове у человека
      просто треш
      Ответить
    • показать все, что скрыто«Жопоскрипт™» — выбор ведущих веб-программистов России
      ✅ Create native business WEB-Applications
      ✅ Harder! Faster! Better! A new way to software developing!
      ✅ New free modern-look IDE with syntax check and autocomplete
      Join community today
      Ответить

    Добавить комментарий