Форум программистов, компьютерный форум CyberForum.ru

Потоки. WaitForSingleObject. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ DXDIAG http://www.cyberforum.ru/cpp-beginners/thread234489.html
подскажите!!!!!!!!я работаю с dev c++ строкой System("dxdiag"); я вызываю директикс.вопрос следующий:можно ли в нём перейти на пунк музыка,конечно при помощи языка програмирования.заранее большое спасибо всем!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C++ подключение к мыши подскажите я использую DEV C++ можноли как то подключится к мышке и допустим как то её отключить только сделать это из доса.заранее спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! http://www.cyberforum.ru/cpp-beginners/thread234476.html
C++ Приближенно вычислить интеграл от функции y=exp(-x) в заданном интервале, используя формулу прямоугольников
Выручите пожалуйста! Необходимо написать прогу на экзамен в крайне короткие сроки(желательно до завтра) Задание - Приближенно вычислить интеграл от функции y=exp(-x) в заданном интервале, используя формулу прямоугольников! Буду крайне благодарен за помощь!!! Есть пример программы, только функция в условии другая, а именно y=5x^2-x+2! Вот её код #include <stdio.h> #include <conio.h> void...
C++ 00 в 20
Здравствуйте! Помогите мне, пожалуйста, понять в чём дело. Почему, если мы какой-то битовый файл переводим в текстовый и хоть что-нибудь в нём после перевода удаляем/меняем, то после этого все нули трансформируются в 20. Т.е. если было, например записано intовское число 7 в виде 07 00 00 00 в 16-ой системе, то потом после малейшего удаления какого-то байтика (разумеется, не в числе 7), получается...
C++ как работает цикл while http://www.cyberforum.ru/cpp-beginners/thread234447.html
Вопрос может и глупый... Но хотелось бы узнать точно.. Вообщем, есть класс-оболочка, который блокирует и освобождает ресурс.. Блокирует он в конструкторе, а освобождает в деструкторе... тогда такой код: while(условие) { какие-то инструкции... ScopeLock lock;
C++ как сделать выходные параметры у функции мне нужно чтобы переменная s сохраняла свое значение после работы функции(которая на самом деле процедура, токо я не знал как по другому сделать)) ) void MyFirst(double x,double y,double z,double s) { double p; p=(x+y+z)/2; s=sqrt( p*(p-x)*(p-y)*(p-z) ); } подробнее

Показать сообщение отдельно
sanya923
69 / 69 / 19
Регистрация: 26.01.2011
Сообщений: 160
27.01.2011, 18:21  [ТС]     Потоки. WaitForSingleObject.
Iron Bug, спасибо за совет.
Я попробовал исправить, но у меня чет как-то не вышло. Решил упростить задачу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "stdafx.h"
#include <iostream>
#include "windows.h"
using namespace std;
 
HANDLE h1,h2;
HANDLE sp1;
 
DWORD WINAPI Thread1(LPVOID lpParam1)
{
    for (int i=0;i<100;i++)
    {
 
        WaitForSingleObject(sp1,INFINITE);
            cout<<"Potok "<<1<<endl;
            ReleaseSemaphore(sp1,1,NULL);
                     Sleep(30);
    }
    return 0;
}
 
DWORD WINAPI Thread2(LPVOID lpParam1)
 
{
    for (int j=0;j<100;j++)
    {
        WaitForSingleObject(sp1,INFINITE);
                         cout<<"Potok "<<2<<endl;
            ReleaseSemaphore(sp1,1,NULL);
        Sleep(5);
    }
    return 0;
}
 
VOID main()
{
    sp1=CreateSemaphore(NULL,1,1,NULL);
 
    h1 = CreateThread(NULL,0,Thread1,NULL,0,NULL);
    h2 = CreateThread(NULL,0,Thread1,NULL,0,NULL);
    
    int uo;
    cin>>uo;
}
Здесь два потока выводят свои номера. Учитывая, что у 2-го задержка меньше, то примерно через каждые пять выводов 2-го должен выводить 1-ый. Но выводит только первый.
Написал тоже самое в Delphi, всё работает, единственное как я уже говорил, я там потоки создаую по другому, но для синхронизации всё тоже самое использую.
Ни как не могу понять как тут это работает.

Добавлено через 10 минут
Всё нашел ошибку. При создании второго передаую Thread1/
 
Текущее время: 04:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru