Перейти к публикации
  • Сейчас на странице   Всего пользователей: 4   (0 пользователей, 4 гостя)

Hed-kun

Программирование, т. 5.1.

Рекомендованные сообщения

обязательно используй udp и выдавай порты как 10000 + айди_юзера


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

для чего?

Поделиться сообщением


Ссылка на сообщение

для чего?

Это Кант стебется над Обязательным полем.

Поделиться сообщением


Ссылка на сообщение

Смешно.

Поделиться сообщением


Ссылка на сообщение

но это реально смешно :trollface:

 

я каждый раз когда пишу какой-нибудь говнокод, то вспоминаю про int port = 10000 + userid; и понимаю что это не особо-то и говнокод, потом я ещё представляю сказаную таким пафосным, но отчаянным голосом фразу "ну а как ещё это сделать?" и настроение обычно хорошее сразу стаёт, как будто хорошую комедию посмотрел

Поделиться сообщением


Ссылка на сообщение

Нашёл в инете код с использованием мьютекса

class Program
{
   static Mutex mutexObj = new Mutex();
   static int x=0;

   static void Main(string[] args)
   {
    for (int i = 0; i < 5; i++)
    {
	    Thread myThread = new Thread(Count);
	    myThread.Name = "Поток " + i.ToString();
	    myThread.Start();
    }

    Console.ReadLine();
   }
   public static void Count()
   {
    mutexObj.WaitOne();
    x = 1;
    for (int i = 1; i < 9; i++)
    {
	    Console.WriteLine("{0}: {1}", Thread.CurrentThread.Name, x);
	    x++;
	    Thread.Sleep(100);
    }
    mutexObj.ReleaseMutex();
   }
}

главное это две функции WaitOne() и ReleaseMutix().

Вот цитата :Таким образом, когда выполнение дойдет до вызова mutexObj.WaitOne(), поток будет ожидать, пока не освободится мьютекс. И после его получения продолжит выполнять свою работу.

Насколько я понял mutexObj.WaitOne() сразу и занимает мьютекс и ожидает пока он не освободится если тот уже занят. Можно ли короче как то эти две функции по отдельности написать, (проверка на то занят ли мьютекс, и занять мьютекс текущим потоком) . И офк, я понимаю, что я с этими мьютиксами ничего не понимаю :palevo:

Поделиться сообщением


Ссылка на сообщение

http://msdn.microsoft.com/ru-ru/library/cc189907(v=vs.110).aspx

 

если ты вызоваешь WaitOne с таймаутом 0, то он сразу вывалится

Если получил true, значит поток был свободен, иначе занят.

 

но это на самом деле ничего тебе толком не скажет, потому что между выходом из функции по таймауту и твоим следующим действием поток могли уже 20 раз занять \ освободить

и полагаться на результат этой функции особо не нужно.

 

Ее обычно используют только проверок, вдруг поток где-то завис к хуям вообще, и тогда WaitOne вывалится по таймауту.


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

http://msdn.microsof...189907(v=vs.110).aspx

 

если ты вызоваешь WaitOne с таймаутом 0, то он сразу вывалится

Если получил true, значит поток был свободен, иначе занят.

 

но это на самом деле ничего тебе толком не скажет, потому что между выходом из функции по таймауту и твоим следующим действием поток могли уже 20 раз занять \ освободить

и полагаться на результат этой функции особо не нужно.

 

Ее обычно используют только проверок, вдруг поток где-то завис к хуям вообще, и тогда WaitOne вывалится по таймауту.

ну а чем мне пользоваться для синхронизации потоков, в лабе сказано что нужны мьютексы. Типо у меня есть некоторые методы которые разрешены только 1 потоку, с помощью чего такое правильно реализовать?

Поделиться сообщением


Ссылка на сообщение

Я офк сделал на отьебись криво через WaitOne(0). Но хотелось бы узнать как на самом деле надо сделать :trollface:

Поделиться сообщением


Ссылка на сообщение
(изменено)

суммон программистов, есть тут шарящий кто мог бы подредактировать одно расширение для гугл хрома, а то оно некорректно работает?

 

собственно вот оно

https://www.dropbox....v1.6.3.crx?dl=0

 

суть такова, оно тупо не работает, не грузит предстоящие/прошедшие матчи, стримы, етц.

за последних пару месяцев оно стало работать через раз, позавчера вроде работало, сегодня снова не работает, тот кто его написал давно забил на своё расширение и пофиксить его некому :sad:


Изменено пользователем NovicE

Поделиться сообщением


Ссылка на сообщение

Типа ты предлагаешь айтишнику нахаляву поработать?


Мой бур создан чтобы пронзить небеса!!!

 

13983687827914.jpg

 

Поделиться сообщением


Ссылка на сообщение

ахуеть, я бесплатно людям компы собираю на форумах, и что с того, вам типо сложно подправить код или я чего то не понимаю?

Поделиться сообщением


Ссылка на сообщение

ахуеть, я бесплатно людям компы собираю на форумах, и что с того, вам типо сложно подправить код или я чего то не понимаю?

тут есть добрые, рли, которые, наверное, помогут. а остальным похуй т.к они не хотят за бесплатно типа разбираться в чужом коде, править что-то. )) но тут есть добрые люди.


 

4Ht5T.jpg

 

8FegEdj.jpg

Поделиться сообщением


Ссылка на сообщение

да забей на него, он долбоёб

даже не пиши ему ничего

Поделиться сообщением


Ссылка на сообщение

ну а чем мне пользоваться для синхронизации потоков, в лабе сказано что нужны мьютексы. Типо у меня есть некоторые методы которые разрешены только 1 потоку, с помощью чего такое правильно реализовать?

так просто WaitOne и есть реализация доступа только одному потоку, зачем тебе выход по таймауту?

Когда несколько потоков выполняют WaitOne(), один из них, которому повезет, получает возможность выполнения, а остальные тупо ждут.

Когда первый отработает, следующий везунчик захватывает процессор, а все остальные всё продолжают ждать.

Никаких проверок на занятость тебе и не надо.

 

 

Вот если надо сразу несколько одновременно работающих, то мьютекс уже не поможет, нужен семафор.


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

всё, уже сам походу разобрался

насколько я понял, тут программисты будут бессильны, просто сервер выключен, таймаут идёт

 

T91GS45.jpg

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...