티스토리 뷰
boost thread에서 호출하는 함수에 인자가 없는데 this 를 사용하는 것을 보고 의문이 들어서 사용방법을 찾아보았다.
object에 속해있지 않은 함수 혹은 static한 함수를 부를때는 boost::thread(function address, argument)를 사용하고
ㄴ do_something, do_static_something
object 바깥에서 object를 bind 할때는 boost::thread(function address, object address, argument)
object 스스로 bind 할때는 boost::thread(function address, this, argument) 로 사용한다.
ㄴ Test::do_something
#include <iostream>
#include <boost/thread.hpp>
void do_something(int a, int b);
class Test {
public:
Test(int a = 0, int b = 0) : a_(a), b_(b) {};
void do_something(int a, int b) {
std::cout << "do_something in class " << a << ' ' << b << '\n';
}
void run() {
boost::thread t_non_static = boost::thread(&Test::do_something, this, a_, b_);
t_non_static.join();
}
static void do_static_something(int a, int b) {
std::cout << "do_static_something in class " << a << ' ' << b << '\n';
}
private:
int a_, b_;
};
int main(int argc, char* argv[])
{
boost::thread t = boost::thread(do_something, 1, 2);
t.join();
boost::thread t_static = boost::thread(&Test::do_static_something, 3, 4);
t_static.join();
Test* test = new Test();
boost::thread t_non_static = boost::thread(&Test::do_something, test, 5, 6);
t_non_static.join();
delete test;
Test* test2 = new Test(7, 8);
test2->run();
delete test2;
return 0;
}
void do_something(int a, int b) {
std::cout << "do_something " << a << ' ' << b << '\n';
}
'개발 > 일상' 카테고리의 다른 글
백준 학교 랭킹 30위 달성 (2) | 2019.08.24 |
---|---|
boost shared_from_this() bad_weak_ptr Exception 문제 해결 (0) | 2019.08.13 |
c++ explicit 이란? (0) | 2019.07.27 |
Boost noncopyable (0) | 2019.07.19 |
개발 블로그 새로 시작!! (0) | 2019.07.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- vrpit
- red underline
- Reciprocal n-body Collision Avoidance
- print shared_ptr class member variable
- Quest2
- shared_from_this
- RVO
- hole-punching
- 클래스 맴버 변수 출력하기
- 영상 픽셀화 하기
- 봄날에 스케치
- Visual Studio
- 잘못된 빨간줄
- C++
- 코어 남기기
- mysql
- boost
- it's called a vrpit
- 우리는 vr핏이라고 부릅니다
- 에러 위치 찾기
- vr핏
- ad skip
- 면접
- Golang
- cockroach db
- Obstacle Avoidance
- 카카오
- SuffixArray
- set value
- chrome-extension
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함