Size: a a a

2020 August 12

Зм

Зачем мне ник... in CODE BLOG / C#
Переслано от Зачем мне ник...
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApp1
{
   class Program
   {
   
       static void Main(string[] args)
       {
           Worker worker = new Worker();
           worker.WriteFile(Directory.GetCurrentDirectory() + @"\file.txt");
           worker.ReadersFile(Directory.GetCurrentDirectory() + @"\file.txt");
           worker.ReadersFile(Directory.GetCurrentDirectory() + @"\file.txt");
           Console.ReadLine();
       }
   }
   class Worker
   {
       ReaderWriterLockSlim reader = new ReaderWriterLockSlim();
       public async void WriteFile(string path)
       {
           //ReaderWriterLockSlim reader = new ReaderWriterLockSlim();

           reader.EnterWriteLock();
           try
           {
               using (StreamWriter stream = File.AppendText(path))
               {
                   for (int i = 0; i < int.MaxValue; i++)
                   {
                       await stream.WriteLineAsync(i.ToString());
                   }
               }
           }
           finally
           {
               reader.ExitWriteLock();
           }
         
       }
       public async void ReadersFile(string path)
       {
           reader.EnterReadLock();
           try
           {
               using (StreamReader stream = new StreamReader(path))
               {
                   while (true)
                   {
                       var text = await stream.ReadLineAsync();
                       Console.WriteLine(text);
                   }
               }
           }
           finally
           {
               reader.ExitReadLock();
           }
         
       }
   }
}
источник

Зм

Зачем мне ник... in CODE BLOG / C#
Переслано от Зачем мне ник...
Ребята допустим идет запись, но когда читатель приходит то он не ждет и кидает ошибок, как сделать чтобы ждал пока писатель закончит свое дела?
источник

FF

Foxy Fox in CODE BLOG / C#
Зачем мне ник
Переслано от Зачем мне ник
Ребята допустим идет запись, но когда читатель приходит то он не ждет и кидает ошибок, как сделать чтобы ждал пока писатель закончит свое дела?
Чего?
источник

АМ

Андрей Мацко... in CODE BLOG / C#
делаешь флаг, который при начале записи выставляешь
источник

АМ

Андрей Мацко... in CODE BLOG / C#
а когда надо прочитать, сперва проверяешь флаг,
источник

АМ

Андрей Мацко... in CODE BLOG / C#
ждешь пока изменит состояние
источник

АМ

Андрей Мацко... in CODE BLOG / C#
самое простое решение
источник

Зм

Зачем мне ник... in CODE BLOG / C#
Foxy Fox
Чего?
Как сделать так чтобы ждал читатель писателя?\
источник

SB

Sergey Benzenko in CODE BLOG / C#
Зачем мне ник
Переслано от Зачем мне ник
Ребята допустим идет запись, но когда читатель приходит то он не ждет и кидает ошибок, как сделать чтобы ждал пока писатель закончит свое дела?
Перехватывать ошибку, усыплять на какое-то время и пробовать снова
источник

Зм

Зачем мне ник... in CODE BLOG / C#
понял, думал есть какой-то ждун
источник

Б[

Барсик [SpamBlock]... in CODE BLOG / C#
Sergey Benzenko
Перехватывать ошибку, усыплять на какое-то время и пробовать снова
А есть же мьютексы там, семафоры, прочая лабуда, никак через них нельзя?
источник

SB

Sergey Benzenko in CODE BLOG / C#
Зачем мне ник
понял, думал есть какой-то ждун
источник

Y

Yablochko in CODE BLOG / C#
Зачем мне ник
Переслано от Зачем мне ник
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApp1
{
   class Program
   {
   
       static void Main(string[] args)
       {
           Worker worker = new Worker();
           worker.WriteFile(Directory.GetCurrentDirectory() + @"\file.txt");
           worker.ReadersFile(Directory.GetCurrentDirectory() + @"\file.txt");
           worker.ReadersFile(Directory.GetCurrentDirectory() + @"\file.txt");
           Console.ReadLine();
       }
   }
   class Worker
   {
       ReaderWriterLockSlim reader = new ReaderWriterLockSlim();
       public async void WriteFile(string path)
       {
           //ReaderWriterLockSlim reader = new ReaderWriterLockSlim();

           reader.EnterWriteLock();
           try
           {
               using (StreamWriter stream = File.AppendText(path))
               {
                   for (int i = 0; i < int.MaxValue; i++)
                   {
                       await stream.WriteLineAsync(i.ToString());
                   }
               }
           }
           finally
           {
               reader.ExitWriteLock();
           }
         
       }
       public async void ReadersFile(string path)
       {
           reader.EnterReadLock();
           try
           {
               using (StreamReader stream = new StreamReader(path))
               {
                   while (true)
                   {
                       var text = await stream.ReadLineAsync();
                       Console.WriteLine(text);
                   }
               }
           }
           finally
           {
               reader.ExitReadLock();
           }
         
       }
   }
}
Для кого моно шрифт в тг?
источник

НП

Никита Петроченко... in CODE BLOG / C#
Yablochko
Для кого моно шрифт в тг?
И пастбин )
источник

Зм

Зачем мне ник... in CODE BLOG / C#
не нашел я это сайт
источник

Y

Yablochko in CODE BLOG / C#
Зачем мне ник
не нашел я это сайт
pastebin
hastebin
источник

НП

Никита Петроченко... in CODE BLOG / C#
источник

НП

Никита Петроченко... in CODE BLOG / C#
Кто ищет, тот всегда найдет )
источник

AK

Andrew Kravchuk in CODE BLOG / C#
Почему ты гуглишь в яндексе?
источник

НП

Никита Петроченко... in CODE BLOG / C#
Сказал я себе и искал причину ошибки с EF четверо суток )
источник