Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - Многопоточность и многозадачность

Ответить
Настройки темы
Win32 API - Многопоточность и многозадачность

Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго всем времени суток!)))Мне необходимо было написать программу , порождающую четыре потока, каждому из которых выделяется четвертая часть окна приложения. Первый поток выводит в свою область возрастающую числовую последовательность 0,1,2,…, второй – последовательность чисел Фибоначчи. Третий поток заполняет свой участок окна прямоугольниками случайного размера и цвета, четвертый поток фиксирует в трех переменных и выводит их в своей области окна число запусков каждого из предыдущих трех потоков. Первые три потока я создал,а вот как создать четвёртый,который фиксирует в трех переменных и выводит их в своей области окна число запусков каждого из предыдущих трех потоков, не знаю.Не могли бы вы мне подсказать,как создать этот поток?Заранее спасибо))))

Отправлено: 23:28, 18-04-2011

 

Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


c#:
System.Threading.Thread Mythread = new System.Threading.Thread(myfunction);

Отправлено: 14:32, 19-04-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 15
Благодарности: 6

Профиль | Отправить PM | Цитировать


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

-------
Ничто так не разрушает мечты, как компромисс..


Отправлено: 18:45, 19-04-2011 | #3


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Beyound,мне надо юзать С++)
Hilaly,я сам,если честно,не очень понял своё задание,но походу,чтобы в четвёртом потоке подсчитывалось кол-во запусков остальных трёх и четвёртый поток - первичный

Отправлено: 09:58, 20-04-2011 | #4


Новый участник


Сообщения: 15
Благодарности: 6

Профиль | Отправить PM | Цитировать


ну так а тогда в чем проблема?
собственно
Код: Выделить весь код
int nThread1=0;
HANDLE h = CreateThread(NULL, 0, ThreadFunc, &nThread1, 0, NULL);

ThreadFunc(LPVOID pParam)
{
 int* pData = (int*)pParam;
 if(pData!=NULL)
  *pData=(*pData)+1;
/*
Ваша дальнейшая реализация
*/
}
Как пример - в качестве параметра передавать ссылку на счетчик запуска потока, а он, соответственно если запустится увеличивает этот счетчик.
Или проверять из главного потока запустился ли дочерний и увеличивать счетчик
Код: Выделить весь код
HANDLE h = CreateThread(NULL, 0, ThreadFunc, NULL, 0, NULL);
if(h!=NULL)
 nThread1++;

-------
Ничто так не разрушает мечты, как компромисс..

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:55, 20-04-2011 | #5


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


спасибо,всё получилось))

Отправлено: 07:44, 21-04-2011 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - Многопоточность и многозадачность

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Многозадачность ХР - миф или реальность. inq Microsoft Windows 2000/XP 15 25-03-2006 22:28
Вытесняющая многозадачность Guest Microsoft Windows 95/98/Me (архив) 2 24-12-2001 19:04




 
Переход