Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Работа с потоками на С++


Автор: Simplemortal 3.7.2007, 09:01
Привет всем!
Не могу заставить функцию выполняться в отдельном потоке на С++.
На C# нашёл много примеров, вроде всё просто.
Обычно переделать с C# на C++ нетрудно, и тем не менее на С++ не получается.
Искал примеры на С++ в MSDN, но на тему потоков там только на Basic и на C#.
Если ближе к делу, то.....
Насколько я понимаю, должно быть что-то вроде этого, но не совсем...

Код

public: void Threadfunc()
    {
        //что-то делаем
    }

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
    {
        Thread ^thread_ = gcnew Thread(gcnew ThreadStart(&Threadfunc));
        thread_->Start();
    }


По-моему ошибка где-то здесь: gcnew ThreadStart(&Threadfunc). 
Нужно ведь передать указатель на функцию? Я это и пытаюсь сделать.

Заранее спасибо!

Автор: stab 3.7.2007, 11:22
http://msdn2.microsoft.com/en-us/library/system.threading.thread.aspx

вот пример на C++ из официальных источников.

Автор: Simplemortal 3.7.2007, 16:08
Спасибо stab!
Нужно было функцию, которая будет работать в отдельном потоке, объявить как static.

Автор: stab 3.7.2007, 17:26
Цитата(Simplemortal @  3.7.2007,  20:08 Найти цитируемый пост)
Нужно было функцию, которая будет работать в отдельном потоке, объявить как static.

не обязательно, но как вариант.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)