디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

성대아싸횽 있나여?

좆좆뉴비(114.207) 2012.03.29 01:11:38
조회 155 추천 0 댓글 19


그제 새벽에


멀티스레드 프로그램 관련

질문글 쌌던 뉴비임

그때 글 보셨던 몇분도 계실지 모르니 간단히 설명하자면


내가 일단 생각을 잘못했었음

멀티스레드 

양쪽에서 ++연산을 1000만회씩 했다고 해도

상호배제가 안되는 조건하에서

최종적으로 2000만이 증가되는건 상호배제를 안시켰으니까 보장이 안되는것은 당연하고

조금만 더 생각해보면 1000만도 채 증가를 못할수 있는데 나는 미처 그 생각을 못했고


아무튼 그 코드 그대로 실행하면 

결과값 출력되는게

2000만:1000만 : 1xxx만(적당한 수) 가 나오는 비율이
7:3:0 정도 됐는데


내부를 살펴보기 위해 printf 20회정도 수행한 코드 때문에 스레드 흐름에 영향을 미쳐
그 비율이
6:1:3 정도로 바꼈지만

결과를 봤을때는

어느정도 납득이 가는데 납득이 안갈거라고 생각됨

이게무슨 헛소리 냐면

결과를 보면 자체적으로 설명이 될텐데


왜 1000만이 나왔는지는 이제 이해가 되는데

왜 1000만의 비율이 이렇게 높은지 궁금증이 생겼음

위에 printf를 넣은 코드 말고
원본 코드를 싱글코어 환경에서(내노트북) 실행하면 [혹시 실행해볼 횽들은 (http://pds24.egloos.com/pds/201203/27/75/Thread.c)여기]
위에서도 말했듯이 7:3 내지 8:2 정도가 나오는데
1xxx만 처럼 이상한 수치가 안나왔는데 1000만이라는 결과값만 나온것도 이상하고

1000만이 사실 나올라면 

스레드 스위칭이 동일한 위치에서 일어나야 한다는 얘기잖아?

도대체 어떠한 요인이 있길래 스레드 스위칭이 동위치에서 일어나는거지?

라는 의문이 생긴거지


어디가서 질문해봐도 멀티스레드 프로그래밍을 할때 어떠한 가정이라도 하고 시작하면
그게 논리적 오류로 이어질 수 있으니까 가정을 하고 시작하지 말라는 얘기를 들었는데
적은 횟수도 아니고, 몇번이고 동일한 위치에서 스위칭을 한다는건(제일 처음의 코드에서는 30%정도 있었지)
(사실 기존의 프로그램에서도 이와같은 행동을 보인다는 보장은 없는데 그래도 현재로서는 결과를 보니 이 경우가 가장 맞는것같아서)

그에 대해 설명할 수 있을만한 이유가 있지 않을까?


결과를 알 수 없는 멀티스레드를 놓고 나도 참 헛소리가 많네 ㅡㅡ

근데 내 생각에도 좀 헛소리같긴 한데..

어차피 예측은 불가한거니까


근데 납득 가능하게 설명해줄수 있는 횽 있어?

왠지 어제 질문에 댓글 열심히 달아주던 성대아싸횽은 지금 프갤에 없는것 같고..

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이제는 의미 없어진 것 같은 시상식은? 운영자 25/12/01 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
308963 OS.js 올라와서 드가봤는데 저게 뭐죠? 웹기반 OS? [4] C언어찌랭이갤로그로 이동합니다. 12.04.01 125 0
308962 교황아 [33] 정통27갤로그로 이동합니다. 12.04.01 180 0
308959 알집으로 egg파일 암호걸고 압축했는데 이거 깨는방법있을까? [1] cyber갤로그로 이동합니다. 12.03.31 258 0
308958 아놔콘다야 이러케 설명해주면되는거임?? [26] 교황갤로그로 이동합니다. 12.03.31 145 0
308957 횽들 짧은 코드인데 계속 구문 오류가 생겨서 컴파일이 안됨 도와줭 ㅜㅜ [5] ㅇㅇㄴㅇ(116.33) 12.03.31 114 0
308953 오빠 나 저거 사줘! 정수정•‿•갤로그로 이동합니다. 12.03.31 130 0
308951 나도 점점 컴덕후가 되가는건가... [1] U10갤로그로 이동합니다. 12.03.31 68 0
308950 직장인 학원 주말반 보통 얼마정도 하나요? ㅇㅇ(210.113) 12.03.31 40 0
308949 HRESULT 정의를 보면 DontMeddle갤로그로 이동합니다. 12.03.31 45 0
308948 도와주세요.. 리눅스 segmentation fault 오류 [4] eee(165.132) 12.03.31 165 0
308947 형들은 SK C&C 랑 NHN 이 합격됬다면 어디갈래 [3] 사랑해형들(121.140) 12.03.31 282 0
308946 문득 미래 진로에 대해서 생각해봤는데 [1] 12(59.12) 12.03.31 60 0
308945 음악파일 입출력 어떻게하는건지 아는사람 있어? [1] 개뇬갤로그로 이동합니다. 12.03.31 77 0
308944 헐.. OS.js 신기하다 Rei@디씨갤로그로 이동합니다. 12.03.31 70 0
308942 아놔콘다야 이 말임 [8] 교황갤로그로 이동합니다. 12.03.31 136 0
308940 HRESULT bool ?? 이거 누구아시는분 [6] DontMeddle갤로그로 이동합니다. 12.03.31 76 0
308937 이것도 일종의 직업병인가.... [1] 아놔콘다갤로그로 이동합니다. 12.03.31 99 0
308936 컴공 교수들 포인터에 트라우마가 있더라 [9] ㅇㅁ(114.199) 12.03.31 246 0
308935 무가 잘못됏는지 찾아줘요 [1] 자바쟁이(110.46) 12.03.31 52 0
308934 구인사이트 이력서올리고 연락오면 어떻게해야되? [1] ㅁㅁㅁㅁ(121.130) 12.03.31 93 0
308932 요즘 node.js가 뜬다고 하던데 [7] Rei@디씨갤로그로 이동합니다. 12.03.31 128 0
308931 성님들 이거 힌트좀 줄수 있겠는가?? [2] 렙터갤로그로 이동합니다. 12.03.31 54 0
308930 약간 병진같은 질문이지만 네트워크관리사 2급 필기 준비하는데.. 내공냠냠(112.161) 12.03.31 47 0
308929 리눅스 명령어중에 [4] 데헤ㅐㅅ(220.86) 12.03.31 76 0
308928 횽들이 그렇게 해킹을 잘해? [7] 5써ㅃ갤로그로 이동합니다. 12.03.31 168 0
308927 ms procject 에서 visio 넘겨서 cpm 그리는거 안되나요 [1] topandbottom갤로그로 이동합니다. 12.03.31 37 0
308925 프로그램 짤 때 변수 몇개 써야될지 어떻게 아는거? [1] ㅇㅁ(114.199) 12.03.31 55 0
308923 이중 당신이 짜본 것은 몇개? [5] 생물학(211.234) 12.03.31 150 0
308922 2012 년 적절한 초봉은 얼마? [1] sk(211.177) 12.03.31 176 0
308920 남자들 샤워할때... [2] 자바초보(111.118) 12.03.31 141 0
308919 C++ 프로젝트 구조 어디 좋은 거 없음? [2] SODMaster갤로그로 이동합니다. 12.03.31 96 0
308918 얘들아 도와주라 피자쏜다 [1] 교황갤로그로 이동합니다. 12.03.31 105 0
308917 아놔콘다야 도와조 [3] 교황갤로그로 이동합니다. 12.03.31 78 0
308915 이 열줄을 해독해줄사람 [1] 낄럽슨갤로그로 이동합니다. 12.03.31 67 0
308914 횽들 연산자 오버로딩좀 알려주새요.. ㅠㅠ(121.187) 12.03.31 109 0
308912 간단?한 콘솔게임 코딩하려는데요 [1] 초잉여(106.103) 12.03.31 65 0
308908 동기중에 여자 있는데 동기로 안보이네 ㅇㅇ(210.113) 12.03.31 66 0
308907 형들 C로 배열 안쓰고 최대,최소,합계,평균 구하는거 질문인데 ㅠㅠ [2] 공도리(27.35) 12.03.31 69 0
308904 과제 해야해서 열심히 공부하고 문제를 딱 봤는데 이게 뭔소리? [1] 길가던놈갤로그로 이동합니다. 12.03.31 59 0
308903 해킹마스터 1시간안에 뽀개기 [3] 로또로(218.159) 12.03.31 244 0
308901 혼자 독학중인데 여기 갤러들은 어떤 테크추천? [4] ㅁㄵㅂ(121.148) 12.03.31 168 0
308900 c에서 scanf 함수에 대한 코드 볼수없냐? [1] 213(115.143) 12.03.31 81 0
308899 리눅스에서 이런명령도 가능한가유? [2] 늅뉴(59.17) 12.03.31 86 0
308898 포트란 써봤음? [3] 나야 나갤로그로 이동합니다. 12.03.31 81 0
308897 C입문부터 자료구조 마스터까지 2주내에 가능하냥..? [4] ㅇㅁ(114.199) 12.03.31 187 0
308896 조편성했는데 나 말고 다여자 [5] ㄴㅇㄹㄴㅇㄹ(211.234) 12.03.31 166 0
308893 논리적으로 말이 안되는 상황을 겪고 있는데 [6] 개짐(125.131) 12.03.31 135 0
308892 새벽이라 사람이없나 내진로에대해 물어볼랬는데 [3] 아이시클레인(121.143) 12.03.31 119 0
308891 아오 썅 이 새벽에 개뻘짓했네 영어쓰던남자갤로그로 이동합니다. 12.03.31 46 0
308890 조용하다... 자바초보(111.118) 12.03.31 41 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2