- 1
- 2
- 3
- 4
while (Process.GetProcesses().Where(x => x.ProcessName == "FREngine").Count() >= 2)
{
Thread.Sleep(5000);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+133
while (Process.GetProcesses().Where(x => x.ProcessName == "FREngine").Count() >= 2)
{
Thread.Sleep(5000);
}
ждём-с
eth0 22.03.2013 15:56 # +1
taburetka 22.03.2013 16:36 # 0
while (true)
{
lock (_lock)
{
if (Process.GetProcesses().Where(x => x.ProcessName == "FREngine").Count() < GetProcessNumber)
{
engineLoader = new FREngine.OutprocLoader();
break;
}
Thread.Sleep(1000);
}
}
3.14159265 22.03.2013 17:06 # +9
Чтоб например 5 потоков ждали по одной секунде. Достаточно сделать extension-метод sleep
Ccik 22.03.2013 17:09 # +4
3.14159265 22.03.2013 17:14 # +4
guest 22.03.2013 17:30 # 0
neeedle 31.05.2013 10:57 # 0
В Count'e тоже можно описать предикат.
Ccik 22.03.2013 17:03 # 0
guest 22.03.2013 17:31 # 0
vistefan 22.03.2013 18:15 # 0
> Linux
Из буханки хлеба можно сделать отличную модель троллейбуса.
guest 22.03.2013 18:38 # −1
eth0 22.03.2013 19:08 # +3
guest 22.03.2013 22:18 # 0
Весь истеричный визг исходящий от Столлмана следовало бы игнорировать.
eth0 23.03.2013 17:31 # +2
carsten 24.03.2013 04:46 # 0
eth0 24.03.2013 21:40 # +2
3.14159265 25.03.2013 16:35 # +2
http://bfolder.ru/_ph/2/2/55940729.jpg
Вспомним такие же "обещания" с VC-1. Важно у кого патенты. А патенты у МС.
3.14159265 25.03.2013 16:46 # +4
Не знаю, видел ли ты. Но Столлман разговаривает очень мягко и спокойно. Как добрый доктор говорит о том что надо мыть руки перед едой и меньше курить, так и Столлман поясняет: "you shouldn't use them".
Ты волен много курить и есть с грязными руками, но если заработаешь рак горла или подхватишь глистов - твои проблемы.
В стране где на копирайты, патенты и закон в целом просто ложат хуй это конечно не особо актуально.
Но ведь Столлман живет немного в другом полушарии.
eth0 25.03.2013 20:26 # +4
3.14159265 25.03.2013 20:36 # +1
И какое совпаденье! Среди хабрабыдлаюзеров таких большинство. Ведь он не показывает новый красивый, блестящий планшет с кучей ненужных функций. За ним нет мощных рекламных кампаний, для раскрутки.
У него одно оружие: слово, подкрепленное элементарной логикой и здравым смыслом.
Не для всех людей это убедительно. Для многих неопровержимым фактом является эмоцинальность или навязчивость с которой им это пропихивают. Или же они просто принимают на веру то что говорил дядя Билл или дядя Стив.
Потому не считаю верным называть его пророком. Ведь он не заставляет в что-то верить или слать ему бабки и всю свою инфу.
И почему Столлман всегда оказывается прав? Как это было быдлодевайсами и с тивоизацией, которую просрал Линус .
Потому логика в конечном счете неопровержима.
3.14159265 25.03.2013 16:56 # +5
http://www.youtube.com/watch?v=wvsboPUjrGc
http://www.youtube.com/watch?v=fVTU5PxN3As
Не надо путать Столлмана со своим лысым спермогуру.
bormand 25.03.2013 17:15 # 0
Ccik 22.03.2013 19:04 # 0
bormand 22.03.2013 19:44 # +1
Нету. По сути есть 3 варианта:
1) если нужно дождаться пока завершатся все нужные процессы, и другой работы нет, можно тупо вызвать waitpid для каждого из них (в любом порядке, т.к. все равно ждем всех);
2) если нужно дождаться процесс, который закончит первым, и другой работы нет, можно поюзать wait, который вернет pid и статус;
3) если есть другая работа (вычисления, опрос сокетов и т.п.), то придется ловить SIGCHLD, и вызывать wait из обработчика.
P.S. Да, в отличие от винды чужих детей дожидаться нельзя. Вообще.
guest 22.03.2013 20:50 # 0
Use Epoll.
bormand 22.03.2013 21:11 # +1
guest 22.03.2013 21:22 # −2
WaitForMultipleObjects for mutex is needn't wrongly shit.
bormand 22.03.2013 21:33 # 0
Верно.
> You can wait signals at pipe from many processes by epoll.
Что здесь имеется в виду? Засунуть stdin или stdout дочернего процесса в epoll и ждать их закрытия? Ну тоже имеет право на жизнь.
guest 22.03.2013 21:43 # −3
bormand 22.03.2013 21:51 # 0
В том же libev ожидание дочерних процессов запилено именно через SIGCHLD.
P.S. Do you speak russian? I can't understand your english.
guest 22.03.2013 22:05 # −3
bormand 22.03.2013 22:07 # 0
guest 22.03.2013 22:12 # −2
Vindicar 23.03.2013 08:04 # +4
guest 22.03.2013 22:19 # 0
bormand 22.03.2013 22:23 # +1
O_o. А как же безопасность...
guest 22.03.2013 22:31 # 0
bormand 22.03.2013 22:39 # +1
Небольшой кусочек shared memory для IPC это совсем не страшно.