개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • install
  • 방법
  • C++
  • ubuntu
  • 에러
  • 우분투
  • Java
  • GIT
  • 설명
  • error
  • 개발
  • 소스
  • 설치
  • CODE
  • Python
  • 코드
  • Example
  • 예제
  • C
  • 라즈베리 파이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

소프트웨어

thread fool에 대해서 알아보자.

2014. 2. 28. 17:27

1. 키워드

thread,fool,스레드,풀,pthread


2.

우선 wikipedia를 보자.

http://en.wikipedia.org/wiki/Thread_pool_pattern



3.

wiki의 내용에 기초해서 보자면

이 thread pool patern을 적용할 때는 thread-safety가 확보되어 있어야 한다.

자바의 경우엔 synchronized라는 키워드를 사용해서 보호한다.



4.

간단한 예제가 있다.

http://software.intel.com/sites/products/documentation/studio/composer/en-acus/2011Update/compiler_c/optaps/common/optaps_par_multicore_thrdpool.htm

여기선 예제로 초기화 하는 부분만 예를 들어주엇다.


 // Initialization method/function

{
  DWORD tid;
  // Create initial pool of threads
   for (int i = 0; i < MIN_THREADS; i++)
   {
    HANDLE *ThHandle = CreateThread (NULL,0,CheckPoolQueue,NULL,0,&tid);
    if (ThHandle == NULL)
    // Handle Error
    else
    RegisterPoolThread (ThHandle);
   }
}



5.

이젠 예제를 찾아보았다.

http://exceptional-code.blogspot.kr/2013/05/a-c-thread-pool-implementation-using.html

여기 블로그에서 github에 소스를 다운 받은 후 소스 분석을 해보았다.

( 요즘에 코드 컨벤션이나 가독성에 대해서 고민하고 있는데 이 소스는 주석은 친절하지만 엔터가 많이 없어서 보긴 어렵다.)


point)

① mutex의 is_locked를 운용하는 것, 처음본다. 좋다

② 소스에 있는 vector는 라이센스가 걸려있는 것이므로 상업적으로 이용할 경우에 심각한 문제를 발생 할 수 있다.


License


This vector class library has a dual license system. You can use it for free in open

source software, or pay for using it in proprietary software.

You are free to copy, use, redistribute and modify this software under the terms of

the GNU General Public License as published by the Free Software Foundation, 

version 3 or any later version. See the file license.txt.

Commercial licenses are available on request. 


사용법 코드 : http://cafe.naver.com/raic/18


③ pthread에 새로운 함수 2가지, pthread_self, pthread_exit

쓰던것만 써서 그런지 이런 좋은걸 한번도 써보지 않았다.



6.

http://www.codeproject.com/Questions/580332/exampleplusofplusthreadpoolplusinplusc-2fc-2b-2b


저작자표시 비영리 (새창열림)

'소프트웨어' 카테고리의 다른 글

[c++] 클래스 속 클래스의 관계에서 private를 사용할 수 있는가?  (0) 2014.03.10
[ubuntu] 화면에 검은색 화면에 _ 만 뜨고 그래픽이 고장났을 경우  (0) 2014.03.04
[c/c++] fwrite, fread 사용법  (0) 2014.02.25
[c++/c] linux환경, 파일, 폴더 생성 소스 포스팅  (0) 2014.02.25
[c] define으로 함수 선언하기  (0) 2014.02.25
    '소프트웨어' 카테고리의 다른 글
    • [c++] 클래스 속 클래스의 관계에서 private를 사용할 수 있는가?
    • [ubuntu] 화면에 검은색 화면에 _ 만 뜨고 그래픽이 고장났을 경우
    • [c/c++] fwrite, fread 사용법
    • [c++/c] linux환경, 파일, 폴더 생성 소스 포스팅
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바