С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 17.10.2014
Сообщений: 3
1

Thread в объекте

17.10.2014, 21:23. Показов 801. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, вопрос следующий:
Создать класс, реализующий функционал создания/остановки нити исполнения, ошибка:
C++
1
cannot convert ‘th_one::thr’ from type ‘void* (th_one::)(void*)’ to type ‘void* (*)(void*)
Код:
C++
1
2
3
4
5
6
7
8
9
bool th_one::set_thr_(){
        .....
        if (pthread_create(&thread, NULL, thr, (void*) tmp) < 0)
                    return false;
        return true;
}
void * th_one::thr(void * attr){
    
}
Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2014, 21:23
Ответы с готовыми решениями:

Prototype Объект в объекте в объекте
Всем здравствуйте! Хотел бы у спросить как оптимально организовать с объектом вида var...

Непонятки в Java. Chain method call. Thread.start() vs Thread.run()
Ребят, кто знает подскажите, изучаю Java уже 4 месяца, а до меня все не доходит вот к примеру такая...

Неоднозначный вызов следующих методов или свойств - Thread.Thread()
Вот кусок кода, по которому у меня вопрос: ...

Передать данные в работающий thread из другого thread
Есть 2 потока запущенные разными классами и из потока А нужно сообщить потоку Б что бы он запустил...

5
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
17.10.2014, 21:32 2
Aqru, функция должна быть в таком случае статической. Последним параметром передавай this, в самой функции потока void * преобразуй к th_one *. Теперь через этот указатель можно вызывать методы класса.

Добавлено через 5 минут
Как-то так:
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
class Thread
{
public:
    bool run()
    {
        return pthread_create(&thread, NULL, &Thread::thread_func, this) == 0;
    }
    // другой твой код
 
private:
    void * thread_method()
    {
        // тут код
 
        return NULL;
    }
 
    static void * thread_func(void * data)
    {
        return static_cast<Thread*>(data)->thread_method();
    }
 
    // еще код
};
1
0 / 0 / 0
Регистрация: 17.10.2014
Сообщений: 3
17.10.2014, 22:19  [ТС] 3
Сделал как в примере, вылазит ошибка:
C++
1
2
3
4
/tmp/ccdn2Yqg.o: In function `th_one::set_thr_()':
th.cpp:(.text+0x316): undefined reference to `th_one::thread_func(void*)'
collect2: error: ld returned 1 exit status
make: *** [all] Ошибка 1
0
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
17.10.2014, 22:38 4
Aqru, покажи код.
0
0 / 0 / 0
Регистрация: 17.10.2014
Сообщений: 3
17.10.2014, 22:40  [ТС] 5
уже понял в чем ошибка, просто забыл th_one:: перед методов в .сpp файле) спасибо
0
DrOffset
17.10.2014, 22:43     Thread в объекте
  #6

Не по теме:

Aqru, окей. успехов :)

0
17.10.2014, 22:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.10.2014, 22:43
Помогаю со студенческими работами здесь

Метод Thread.Suspend(),Thread.Resume()
Здравствуйте,пытаюсь сделать игру простенькую в Windows Form. И хочу,чтобы в ней было включено...

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException при создании Label
Пытаюсь написать чат по видео, в видео писали на Swing, я решил на JavaFX сразу начать учиться....

Как исправить проблему с Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
Exception in thread &quot;JavaFX Application Thread&quot; java.lang.NullPointerException at...

Ошибка компиляции "no instance of constructor 'std::thread::thread' matches the argument list"
Не могу сообразить почему возникает ошибка. У меня в классе есть метод, который должен работать в...

Ошибка Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
package sample; import java.sql.Connection; import java.sql.DriverManager; import...

Почему когда фоновый thread "спит" я не могу убить main thread ?
Привет! Делаю гуй на swing'e, для реализации долговременной задачи создал второй поток. В этом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru