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

"общение" потоков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ товарообмен стран http://www.cyberforum.ru/cpp-beginners/thread516899.html
помогите пожалуйста дан файл, содержащий информацию о товарообмене 5и стран в течение 20 лет. под товарообменом понимаются данные об экспорте и импорте из i-ой страны в j-ю. найти все страны у которых величина экспорта за 20 лет превышает величину импорта. Добавлено через 2 часа 59 минут товарищи программисты помогите пожалуйста..
C++ текстовый файл помогите пожалуйста Дано два файла, содержащих одинаковое количество целых чисел. перезаписать первый файл следующим образом: если число из второго файла больше соответствующего числа в первом, то число из второго файла записывается в первый файл на место меньшего... Добавлено через 3 часа 2 минуты нарооод очень нужно, помогитее.. http://www.cyberforum.ru/cpp-beginners/thread516896.html
C++ Найти сумму чисел в строке
Помогите найти сумму чисел в строке в Microsoft Visual Studio C++ Пока еще плохо знаю как программировать...так что если можно распишите пожалуйста как написать программу и что в ней и как работает.. Заранее Спасибо!!!
C++ Записи в файле прочесть в два списка
есть текстовый файл запись1 запись2 запись3 запись4 ...................... надо первую колонку записать в один vector, а вторую в другой
C++ Реально выучить С++ http://www.cyberforum.ru/cpp-beginners/thread516876.html
А ваше реально самому выучить С++ без преподаватель, и кому это удавалось что читали ?
C++ Задача по матрице Текст задачи:Задана матрица А (7 строк,4 столбца) целых чисел. Получить матрицу В из А удалением k-ой строки и j-го столбца. Премечания и требования 1)номер k-ой строки j-го столбца.вводить с клавиатуры (в тексте программы) 2)вывести на экран в удобной и наглядной форме исходные данные и результаты. подробнее

Показать сообщение отдельно
IcyWind
8 / 8 / 2
Регистрация: 19.09.2011
Сообщений: 269

"общение" потоков - C++

12.03.2012, 16:27. Просмотров 321. Ответов 0
Метки (Все метки)

Здравствуйте.
Будут два потока. оба получают 2 иттератора (для конкретности vector<int>).
нужно:
один поток находит число, меньшее данного. Останавливается. Ждёт, пока остановится второй поток.
второй находит число, большее данного. Останавливается. Ждёт, пока остановится первый поток.
потом нужно вытащить иттераторы из каждого потока (из первого it1, втого it2) и сделать
swap(it1,it2)
Не знаю...как организовать это "общение". Знаю, что для ожидания можно использовать события...
а как вытащить иттераторы...может в потоке мейн делать свап через статические переменные?
тут примерный код потоков


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
45
#include "stdafx.h"
#include <Windows.h>
#include <vector>
#include <iostream>
using namespace std;
 
template <typename T>
struct para
{
    T begin,end;
           int chislo;
    para (T b, T e, int n)
    {
        begin = b;
        end = e;
                      chislo = n;
    }
};
 
typedef para<vector<int>::iterator> iterator_pair;
 
 
 
 
DWORD WINAPI func(PVOID param)
{
    iterator_pair* p = static_cast< iterator_pair * > (param);
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    vector<int> b;
    b.push_back(5);
    b.push_back(4);
    b.push_back(3);
    b.push_back(2);
 
    iterator_pair p(b.begin() , b.end(), 3);
     
 
    HANDLE potok = CreateThread(NULL, 0, func, &p, 0, NULL);
    WaitForSingleObject(potok, INFINITE);
    
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru