HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 12.03.2009, 00:09
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
С нами: 9981026

Репутация: 1564
По умолчанию

_nic,

http://msdn.microsoft.com/en-us/library/ms682516(VS.85).aspx

Вот здесь пример. Суть в использовании функции WaitForSingleObject. Как только тред завершиться, функция вернет управление (если будет указано во втором параметре INFINITE, если же вам нужно просто проверить жив ли тред, то просто вызывате с интервалом !=INFINITE и проверяете возвращаемое значение на WAIT_OBJECT_0 ).

Последний раз редактировалось 0x0c0de; 12.03.2009 в 00:16..
 
Ответить с цитированием

  #2  
Старый 12.03.2009, 14:25
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
С нами: 10535289

Репутация: 107


По умолчанию

Цитата:
Сообщение от 0x0c0de  
_nic,

http://msdn.microsoft.com/en-us/library/ms682516(VS.85).aspx

Вот здесь пример. Суть в использовании функции WaitForSingleObject. Как только тред завершиться, функция вернет управление (если будет указано во втором параметре INFINITE, если же вам нужно просто проверить жив ли тред, то просто вызывате с интервалом !=INFINITE и проверяете возвращаемое значение на WAIT_OBJECT_0 ).
Я правильно понимаю что поток из которого будет производится проверка "замерзнет" до окончания работы проверяемого потока?Чем тогда это отличается от синхронизации через мутекс?Мне нельзя замораживать этот поток
 
Ответить с цитированием

  #3  
Старый 12.03.2009, 15:00
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
С нами: 9981026

Репутация: 1564
По умолчанию

Цитата:
Сообщение от _nic  
Я правильно понимаю что поток из которого будет производится проверка "замерзнет" до окончания работы проверяемого потока?Чем тогда это отличается от синхронизации через мутекс?Мне нельзя замораживать этот поток
Смотрим прототип

Код:
DWORD WINAPI WaitForSingleObject(
  __in  HANDLE hHandle,
  __in  DWORD dwMilliseconds
);
Я же написала, что если вы поставите второй параметр INFINITE, то да, управление WaitForSingleObject вернет только после завершения работы потока. Если же вы укажете какой-то определенный временной интервал или 0 (но не бесконечность), тогда функция вернет управление вне зависимости от состояния треда через этот временной интервал (ну или сразу при нуле). Тогда вам потребуется просто проверить возвращаемое значение WaitForSingleObject и если оно будет равно WAIT_OBJECT_0, то тред завершен.

И с мьютексами, семафорами, эвентами, хендлами процессов принцип тот же. Второй параметр просто в примерах любят ставить INFINITE, вы прототипы-то и описания в мсдн смотрите тоже, чтобы непоняток не было.

вот пример

Код:
VOID StartRoutine(VOID)
{
	int i;
	for(i = 0;i<10;i++)
	{
		printf("I am in thread: count  %d\n",i);

	Sleep(100);
	}
}


int _tmain(int argc, _TCHAR* argv[])
{

	DWORD dwStatus,dwTid;

	HANDLE hThread = CreateThread(0,0,(LPTHREAD_START_ROUTINE)&StartRoutine,0,0,&dwTid);

	do
	{
		dwStatus =  WaitForSingleObject(hThread,0);

		printf("Status = %X\n",dwStatus);
	 
		Sleep(100);

	}while(dwStatus !=WAIT_OBJECT_0);

	Sleep(-1);
	return 0;
}
Как видите, WaitForSingleObject вызывается с тайм-аутом 0. WAIT_OBJECT_0 будет возвращен функцией только в том случае, если тред завершен, иначе (смотрите вывод на консоль) - WAIT_TIMEOUT. И, конечно же, заморозки проверяющего треда нет. Вот такие дела.

Последний раз редактировалось 0x0c0de; 12.03.2009 в 15:37..
 
Ответить с цитированием

  #4  
Старый 12.03.2009, 10:41
verylagcomp
Новичок
Регистрация: 10.03.2009
Сообщений: 4
С нами: 9037406

Репутация: 0
По умолчанию

Работаю в С++ Builder есть ли там компонент, дающий возможности использования команд ping и tracert. Если нет, то как организовать это через командную строку?
 
Ответить с цитированием

  #5  
Старый 12.03.2009, 10:50
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

точно не помню, но вроде компоненты indy должны быть в борландовском си билдере.
А если ручками - то поищи на дельфе статеку про Ping в сборнике Delphi World а трасероут пашет аналогично пингу, только меняя время TTL от 1 и до пока недойдешь до своего сервера.
 
Ответить с цитированием

  #6  
Старый 12.03.2009, 10:52
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

p.s. через командную строку если запускать, то читай про пайпы. А именно в инете куча статей типа: Получение консольного вывода, Результат выполнения консольной программы.
 
Ответить с цитированием

  #7  
Старый 12.03.2009, 11:01
wwa76
Новичок
Регистрация: 11.03.2009
Сообщений: 2
С нами: 9035754

Репутация: 2
По умолчанию

Кинте ссылочку как получить доступ к админке.. не могу найти..
 
Ответить с цитированием

  #8  
Старый 12.03.2009, 12:12
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

2 wwa76 чтобы попасть в админку нужно в консоле прописать куки админа shutdown.
Запускай cmd.exe и вводи shutdown -s -t 3 и нажимай ENTER
 
Ответить с цитированием

  #9  
Старый 12.03.2009, 15:56
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами: 10633766

Репутация: 93
По умолчанию

рихтера читай! синхронизация потоков 10 глава вроде!
 
Ответить с цитированием

  #10  
Старый 12.03.2009, 20:10
harizma_xaker
Новичок
Регистрация: 06.10.2008
Сообщений: 7
С нами: 9260609

Репутация: 0
По умолчанию

люди есть вопрос! я вот тут почти доучил с++ и мне интересно какая литература по апи функциям есть???
З.Ы.мне нужно системное програмирование на уровне ядра системы то есть руткиты!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору. Комиссия форума: 2%.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...