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

Как передать функцию в Thread()? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание пользовательского интерфейса http://www.cyberforum.ru/cpp-beginners/thread354576.html
Приветы форумчанам. Вообщем встал вопрос создание графического интерфейса пользователя(GUI если не ошибаюсь) Использую VS2008 До этого писал только консольные программы(С++), ни с какими технологиями и библиотеками незнаком, поэтому прошу совета. Думаю начать изучать MFC, вот такая книжечка в электронном варианте имеется ( Visual C++. Разработка Windows-приложений с помощью MFC и API-функций...
C++ Вычислить значение функции на интервале с определенным шагом Здравствуйте! Помогите пожалуйста разобраться в последней части условия, если возможно, помочь кодом. Задачу прикрепил в сообщение. Вот мои наработки: #include <iostream> #include <math.h> #include <iomanip> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread354575.html
разработка объекта синхронизации C++
нужно создать объект синхронизации с разделяемыми уровнями блокировки: для чтения и для записи. Одновременно блокировка на чтение возможна из нескольких тредов, а на запись - только из одного, при этом чтобы не было читающих потоков. Как это реализовать - понятно. Нужно 2 флага (мьютекса) и один семафор. Алгоритм: при запросе на чтение - ожидаем сброса флага ожидания доступа на запись -...
C++ как задать функции в с++
например в паскале можно вот так procedure (a) procedure= procedure(a+1)+procedure (ф+2) begin input (a,b) procedure (a,b) как так извините если не правильно главное суть. как сделать так же в с++, читал про void но она не возвращает значение.
C++ Задачи http://www.cyberforum.ru/cpp-beginners/thread354538.html
все сюда писать не буду они тут в файле. По возможности кто какие сможет помогите решить. Но это самая сложная Первоначальное напряжение в цепи равно 200 вольт. Известно, что оно меняется через каждую секунду следующим образом: через одну секунду оно уменьшается на М%, а еще через секунду увеличивается на Р%, затем снова уменьшается на М%, потом уменьшается на Р% и т.д. Составьте программу для...
C++ Несколько условий в одном if например в паскале можно if (a>b)and(a<10) в с++ как этосделать? подробнее

Показать сообщение отдельно
Sikorskaja
0 / 0 / 0
Регистрация: 12.09.2011
Сообщений: 8
27.09.2011, 13:31  [ТС]     Как передать функцию в Thread()?
Ok, я вроде-бы разобралась с потоками, во всяком случае ошибка больше не выходит, но теперь следующая проблема, потоки идут параллельно, первая функция выполняется и не доходя до конца начинает уже вторая своё действие, по этому на экране выводятся 2 функции вперемешку, а не по очереди. Я слышала что потоки можно контролировать с помощью AutoResetEvent. Как эту функцию в моём коде задействовать?
Вот мой cpp-File
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
46
47
48
49
50
51
52
53
54
55
#include "StdAfx.h"
#include "Byte.h"
 
Byte::Byte(void)
{bytes = NULL;}
 
Byte::~Byte(void)
{if (bytes) delete [] bytes;}
 
void Byte::InputString() 
{
    while (true) 
  { 
    std::cout << "Enter -> Gib ein Wort ein_: "<<std::endl;
    getline(cin,str);
    int i  = str.length();
    if (i<1) 
    continue; 
    break; 
  } 
 
}
 
void Byte::OutputArray()
{
    for (int i=0; i<str.length(); i++)
 
       {cout<<str[i]<<"\n";}
}
 
void Byte::ConvertArrayToAsci()
{   
    for (int i=0; i<str.size(); i++)
    {
        printf("%x\n",str[i]);
    }
}
 
unsigned __stdcall Byte::myThread(void* ptr)
{    
cout<<"test5 ";
    Byte* mobj = reinterpret_cast<Byte*>(ptr);  
    mobj->OutputArray();
    _endthreadex(0);
    return(0);
}
#
void Byte::Start_Thread()
{
    void* arg_ptr = this; //указатель на аргумент. обычно на структуру.
    HANDLE hThread;
    unsigned threadID;
    hThread = (HANDLE)_beginthreadex(NULL, 0, myThread, arg_ptr, 0, &threadID);
    ConvertArrayToAsci();
}
 
Текущее время: 19:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru