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

Поток из не статического метода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Циклы http://www.cyberforum.ru/cpp-beginners/thread1146082.html
Как написать программу, в которой нужно сложить значения получаемые в цикле? z=sin(\sum_{3}^{10}(a*k+c)) a,c известны
C++ Есть код, нужно перевести на долее понятливый(простой язык) #include <stdio.h> #include <locale.h> #define N1 8 #define N2 9 bool isascend(int* pn, int n); int main() { http://www.cyberforum.ru/cpp-beginners/thread1146073.html
Шаблонные функции C++
Доброго времени суток. Есть шаблонная функция(двоичный сумматор прямого кода): template <class T> void Main_register::badc(T *regist, T term) { int count_bit = sizeof(term)*8; char remainder=0, s1, s2, masc; for (Int64 i=0;i<count_bit;i++) { s1 = *regist & Convert::ToInt64(1<<i)?1:0; s2 = term & Convert::ToInt64(1<<i)?1:0; if((s1+s2+remainder)%2!=0)
Не секу что такое gsoap и где его искать на win7 C++
Чур не ругаться за оффтоп, я впервые пользуюсь форумами! :) Итак, прилагаю файл с лабками, первую я уже сделал, осталась вторая, и на ней я застрял, так как совершенно не секу что такое gsoap и где его искать на win7. Кому несложно - сделайте пожалуйста мне вторую лабку, и объясните что к чему! Если можно - прокоментить все вплоть до подключаемых библиотек, типа кто зачем и откуда. (лабка в...
C++ Задача: найти трехзначное число х http://www.cyberforum.ru/cpp-beginners/thread1146003.html
У трехзначном числе х зачеркнули его вторую цифру. Когда к образованному при этом двухзначному числу слева приписали вторую цифру числа х, то получилось число 546. Найти число х
C++ Исправить ошибки в структуре student #include "stdafx.h" #include <iostream> #include <string> using namespace std; struct STUDENT { char name; int group; int marks; подробнее

Показать сообщение отдельно
DrOffset
6840 / 4051 / 924
Регистрация: 30.01.2014
Сообщений: 6,855
12.04.2014, 14:36     Поток из не статического метода
diplomat1129,
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
class MyThread
{
public:
    void run()
    {
        if(!running_)
        {
            // pthread не бросает никаких исключений
            running_ = pthread_create(&thread_, NULL, &MyThread::pthread_func_impl, this) != 0;
            if(!running_)
            {
                throw std::invalid_argument("Невозможно запустить клиент");
            }
        }
        else
        {
            throw std::invalid_argument("Клиент уже остановлен");
        }
    }
 
    void thread_func()
    {
        // здесь пишем код
    }
 
private:
    static void * pthread_func_impl(void * data)
    {
        try
        {
            if(MyThread * this_ = static_cast<MyThread *>(data))
            {
                this_->thread_func();
            }
        }
        catch(...)
        {
            // здесь какая-то обработка
            // нельзя выпускать исключения за пределы потока
        }
        return NULL;
    }
 
    pthread_t thread_;
    bool      running_;
};
Добавлено через 2 минуты
0x10,
Что-то я долго свой пост писал.
Цитата Сообщение от 0x10 Посмотреть сообщение
C++
1
Client* const obj = reinterpret_cast<Client* const>(arg);
Только вот здесь кошернее static_cast применять
 
Текущее время: 03:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru