Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[1822] Re:[질문] 쓰레드 사용할때~ 함수호출은?
남병철.레조 [lezo] 1454 읽음    2003-01-11 21:17

쓰레드는 엄청난 CPU의 연산속도를 이용해 멀티태스킹을 구현하는것입니다.
(프로세스도 결국 일을 하는건 쓰레드입니다.)
사실 동시에 멀티테스킹이 가능하려면 CPU가 2개이상 되어야 하겠지만... 그래도 데이타 쓰기는
하나가 접근해야겠지요.

뭔가 설명하고도 설명이 웬지 찝찝해서 좀더 설명하겠습니다. --;
일단 궁금해 하시는 부분인데.. 각 쓰레드에서 하나의 함수를 동시에 콜? 한다면 함수가
분신술을 써서 각각의 남자와 바람을 필까요?
정답은 YES... ( -.-;; )

그런데 이 바람피는 가계부 정리 여자는 한계가 있습니다. 뛰어봐야 메모리 손바닥이죠.
함수를 동시에 부른 각 쓰레드들이 그 여자에게 가계부 쓰는 일을 명령한다면..??
여자는 동시에 가게부를 복사하여 각각에 맞게 글을 쓰고 나중에 합친다?
아무리 꼬리 9달린 여자라도 가계부까지는 복사하지 못하고 두명의 남자에게 비명을 지릅니다.
"액세스 바이얼레이션~~"
2 쓰레드에 관심은 가질수 있지만 데이타를 쓸때는 그 여자를 움직여야 하기에 몸이 하나인
여자는 어쩔 수 없이 두명의 남자중 한명의 남자와 만나야죠...
그런데 동기화 처리가 안되면... 두명의 남자를 혼자 상대하게되고,, 프로그램은 파국으로
가게됩니다. -_-;;

이런 파국의 상황에서 머리를 써서 여자는 두명의 상대를 적당히 만족시키는 동기화를 생각해
낸것이죠. ( 사실 수백, 수천명의 남자를 만날수도 있는 무서운 여자.. --;;; )
먼저건놈은 바로 상대해주고, 조금이라도 늦은 놈은 일 끝날때까지 기다렸다가 이어서 바로
처리됩니다.

쓰레드 프로그램에서 데이타나 자원을 사용할때는 각 쓰레드간에 자원의 공유문제가 있다면
동기화는 필수입니다.



ps.
아.. DB 커넥션은 해당 DB에서 접속자를 멀티쓰레드로 관리하여 동기화 처리가 될것이기에 문제없
습니다.





시간한줌 님이 쓰신 글 :
: 안녕하세요~
: 시간한줌입니다. 요즘 날씨가 많이 풀려서 다행이네요~ 오호호홋~
:
: 암튼~ 거두절미하고~
:
: A, B 쓰레드 함수가 있었습니다.
:
: 이 두 함수 녀석은 같은 동네에 C라는 어여쁜 함수 낭자를 좋아했지요~
:
: C낭자의 취미는 항상 가계부 정리를 하는 일이였답니다.
:
: A녀석은 C낭자에게 계속 자기 집 일을 부탁했습니다.(나아쁜넘~)
:
: C낭자는 너무 착해 A녀석이 시키는데로 일을 해 줬죠~
:
: 근데 이젠 B라는 녀석까지 일을 시킵니다. 어호~(너무해~ㅠㅠ)
:
: 그럼  C낭자는 분신술을 써서 A와 B녀석에게 동시에 일을 하게 되나요?
:
: 또 하나 궁굼한것은 만약 분신술을 써서 C낭자가 일을 하는데 가계부도 분신술을 쓴것 처럼 사용하게 되나요?
:
: 즉~ 쉽게 말해서~ A,B쓰레드 함수가 C함수를 호출하면 C함수는 따로따로 생성되어 실행 되는겁니까?
: 이겁니당~ C가 DB를 커넥하여 쓰는 함순데 그럼 DB는 어떻게 해요?
:
: 알쿼주세요~
:
: 전 A,B녀석들이 싸우지 않고 C낭자랑 행복하게 살았으면 합니다~ ^^;;;
:
: 답변을~!!!!

+ -

관련 글 리스트
1806 [질문] 쓰레드 사용할때~ 함수호출은? 시간한줌 1249 2003/01/09
1822     Re:[질문] 쓰레드 사용할때~ 함수호출은? 남병철.레조 1454 2003/01/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.