Портал аспирантов
 

Вернуться   Портал аспирантов > Общие > Свободное общение

Закрытая тема
 
Опции темы
Старый 02.08.2014, 22:11   #2891
Dr SG
Silver Member
 
Регистрация: 07.02.2013
Сообщений: 718
По умолчанию

[b]Paul Kellerman[/b
жарко, я в саду наломалась. Сыночка щас последние бревна допиливает.
Spritzer в самый раз. Для меня 1\5 белого с содовой и льдом.

Цитата:
Сообщение от Paul Kellerman Посмотреть сообщение
Пегги о'Дауд
а до нее у меня титьки не доросли
Dr SG вне форума  
Реклама
Старый 02.08.2014, 23:21   #2892
Галчонка
Junior Member
 
Аватар для Галчонка
 
Регистрация: 13.06.2010
Сообщений: 18
По умолчанию

А я сейчас выпила пол бутылки коньяка...я давно себя так хорошо не чувствовала....еще бы водочкой шлифануть)))) Сейчас устрою пьяные бродилки по форуму...
---------
...отцвели голубые,
все цветы полевые...
Галчонка вне форума  
Старый 02.08.2014, 23:30   #2893
Dr SG
Silver Member
 
Регистрация: 07.02.2013
Сообщений: 718
По умолчанию

Галчонка, тож хорошо.
выходные все-таки
Dr SG вне форума  
Старый 02.08.2014, 23:31   #2894
4gost
Platinum Member
 
Регистрация: 16.06.2014
Адрес: default city
Сообщений: 4,226
По умолчанию

Цитата:
Сообщение от Старший докторенок Посмотреть сообщение
Не, мороженку не ем уже года четыре.
А чего так?
---------
к.х.н., 02.00.06
4gost вне форума  
Старый 02.08.2014, 23:38   #2895
Maksimus
Platinum Member
 
Аватар для Maksimus
 
Регистрация: 07.02.2009
Адрес: Москва
Сообщений: 7,542
По умолчанию

Цитата:
Сообщение от 4gost Посмотреть сообщение
А чего так?
А какая в нем польза?
Maksimus вне форума  
Старый 02.08.2014, 23:42   #2896
4gost
Platinum Member
 
Регистрация: 16.06.2014
Адрес: default city
Сообщений: 4,226
По умолчанию

Цитата:
Сообщение от Maksimus Посмотреть сообщение
А какая в нем польза?
Скрытый текст
Postman: Надо кошку завести, она будет всех радовать!
Механик: Это бесполезное животное будет от меня получать пендаля
Postman: Ну это будет же тебя радовать?
Механик: Да....
Postman: Значит ее жизнь не будет бессмысленной.
(с)башорг
---------
к.х.н., 02.00.06
4gost вне форума  
Старый 03.08.2014, 10:50   #2897
Домохозяйка
Gold Member
 
Аватар для Домохозяйка
 
Регистрация: 19.01.2011
Адрес: Here, there and everywhere
Сообщений: 1,551
По умолчанию

Цитата:
Сообщение от Maksimus Посмотреть сообщение
А какая в нем польза?
оно из молока
---------
Все сбудется, стоит только расхотеть.
Домохозяйка вне форума  
Старый 03.08.2014, 12:06   #2898
Maksimus
Platinum Member
 
Аватар для Maksimus
 
Регистрация: 07.02.2009
Адрес: Москва
Сообщений: 7,542
По умолчанию

Цитата:
Сообщение от Домохозяйка Посмотреть сообщение
оно из молока
и немеряно сахара.
Maksimus вне форума  
Старый 03.08.2014, 13:39   #2899
Дмитрий В.
Gold Member
 
Аватар для Дмитрий В.
 
Регистрация: 08.04.2012
Адрес: Воронеж
Сообщений: 2,056
По умолчанию

Цитата:
Сообщение от _Tatyana_ Посмотреть сообщение
вы столица, мы родина
С небольшим запозданием - поздравляю уважаемого Havrosh как непосредственно причастного ко дню ВДВ, желаю мирного неба над головой и всегда штатного приземления!
---------
Грамотей-опричникъ
Сварщик я не настоящий, а сюда просто пописать зашел
Дмитрий В. вне форума  
Старый 03.08.2014, 13:39   #2900
Paul Kellerman
Gold Member
 
Регистрация: 25.06.2005
Адрес: F000:FFF0
Сообщений: 1,830
По умолчанию

kravets, проблема рандомизации доступа к ресурсу с использованием мьютекса решилась.

В классике каждый поток перед доступом к ресурсу пытается захватить мьютекс и если не
получается уходит в спячку, пока мьютекс не освободится и система отдаст мьютекс потоку.
Код:
if WaitForSingleObject(ResMutex,INFINITE) = WAIT_OBJECT_0 then
  begin
    .
    < работа с ресурсом >
    .
    ReleaseMutex(ResMutex);
  end;
Поток в случае занятости мьютекса непрерывно пассивно ждет, пока система не выберет его.
Система отслеживает время непрерывного ожидания и при освобождении мьютекса выбирает
тот поток, который дольше всех ждал (при равных приоритетах). А нам нужен случайный выбор.

Ну так давайте спутаем все карты системе и будем ждать не непрерывно, а случайно-дискретно.

Код:
flag:= False;
while not(flag) do
  begin
    dt:= 10 + 20 * Random;
    if WaitForSingleObject(ResMutex, dt) = WAIT_OBJECT_0 then flag:= True;
  end;
if (flag) then
  begin
    .
    < работа с ресурсом >
    .
    ReleaseMutex(ResMutex);
  end;
Из-за прерывистого ожидания со случайными интервалами системе приходится выбирать наугад.

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

Протестировал в имитационной модели. Статистические показатели отлично сходятся с расчетными.

Последний раз редактировалось Paul Kellerman; 04.08.2014 в 05:56.
Paul Kellerman вне форума  
Закрытая тема

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 03:13. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2025, «Аспирантура. Портал аспирантов»
Рейтинг@Mail.ru