Форум программистов, компьютерный форум 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++ Матрица 4-го порядка http://www.cyberforum.ru/cpp-beginners/thread234462.html
Ребята помогите пожалуйста, не могу решить. :wall: Даны три вещественные квадратные матрицы 4-го порядка. Напечатать ту из них,норма которой наименьшая (считать, что такая матрица одна). В качестве нормы матрицы взять максимум абсолютных величин ее элементов Заранее спасибо))
C++ как работает цикл while Вопрос может и глупый... Но хотелось бы узнать точно.. Вообщем, есть класс-оболочка, который блокирует и освобождает ресурс.. Блокирует он в конструкторе, а освобождает в деструкторе... тогда такой код: while(условие) { какие-то инструкции... ScopeLock lock; подробнее

Показать сообщение отдельно
sanya923
69 / 69 / 19
Регистрация: 26.01.2011
Сообщений: 160
27.01.2011, 18:21  [ТС]
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/
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru