2017-11-01 1 views
1

스레드 사용 방법이 알려져 있습니다. 그러나 어떻게 스레드 라이브러리가 구현됩니까? 내 말은, 우리가 std::string을 가지고있는 것처럼, 그 기능은 다소 복제 될 수 있습니다. 사용자가 직접 C- 문자열 (char 배열)을 사용하면 쉽습니다.스레드 구성 장면 뒤에

내 질문에 어떻게 스레드의 경우, 어떻게 맨 - 최소 C++ 데이터 형식 및 함수 (WINAPI없이), std :: thread 같은 기능을 클래스에 만들 수 있습니다. 나는 예를주고 싶습니다

는, 선생님이 표준 : : 문자열을 사용하여에서 저를 금지하고, 단지 C-문자열을 사용할 수 있지만, 내가 OOP 개념을 사용할 수있다

..

class string_my 
{ 
     private: 
      char* str; 
     public: 
     // all the required func. to store the value in char* 
} 
+1

그래서 무엇을 원하니? 운영 체제 API를 사용하지 않고 자신 만의 문자열 클래스를 만들거나 스레드 클래스를 만들 수 있습니까? 후자를 원할 경우 : 완전히 불가능합니다. 스레드 관리는 운영 체제의 스케줄러 영역에 속합니다. – Jodocus

+0

@Jodocus 스레드 클래스를 만들고 싶습니다 .... 문자열 클래스를 사용하여 그것을 예시하려고했습니다 – Vedant

+1

리눅스에서 [clone (2)] (http://man7.org/linux/man-pages/man2/ clone_THREAD' 인자를 가진 시스템 콜은 궁극적으로 쓰레드를 생성합니다. –

답변

2

OS 제공 스레딩 프리미티브 또는 위에서 언급 한 OS 제공 스레딩 프리미티브에 의존하는 더 높은 수준의 스레딩 라이브러리 (boost::thread 또는 std::thread과 같은)를 사용하지 않고 스레드 클래스를 구현할 수 없습니다.