Click here to load reader

multi-thread 어플리케이션에 대해 모든 개발자가 알아 두지 않으면 안 되는 것

  • Upload
    -

  • View
    9.509

  • Download
    5

Embed Size (px)

DESCRIPTION

사내스터디. MSDN 매거진의 내용을 정리

Citation preview

  • 1. multi-thread
    Microsoft Visual C++ MVP

    Server Programmer

2. multi thread ?
10 .
.
. .
multi thread .
. .
3. . .
4. multi-thread
5. multi-thread
6. thread
multi thread thread .
.
. .
thread .
7.
totalRequests = totalRequests + 1
totalRequests
MOV EAX, [totalRequests]
INC EAX
MOV [totalRequests], EAX


8. thread , .thread .
9.
1. thread
2.
3.
4. thread .
10. lock
thread lock .
moniter, critical section, mutex, semaphore .
lock enter exit .
thread enter thread enter thread exit .
11. static object totalRequestsLock = new Object();
...
System.Threading.Monitor.Enter(totalRequestsLock);
totalRequests = totalRequests + 1;
System.Threading.Monitor.Exit(totalRequestsLock);
lock exit
System.Threading.Monitor.Enter(totalRequestsLock);
try {
totalRequests = totalRequests + 1;
} finally {
System.Threading.Monitor.Exit(totalRequestsLock);
}
12.
10 .
2. , .
3. .
4. .
. .
)
...............

................

: Intel multi thread .
13. lock .NET
lock(totalRequestsLock) {
totalRequests = totalRequests + 1;
}
.
lock .
lock .
14. lock
1. lock .
lock .
2. lock . .
15. 3. lock lock .
lock .
lock lock lock .
16. lock
totalRequests = highPriRequests + lowPriRequests;
highPriRequestslowPriRequests lock ? ?
.
lock .
17. thread highPriRequests , thread lowPriRequests lock thread thread .
lock thread .
lock . ( )lock thread .
18. lock .
.
lock .
lock ,lock lock .
19. thread lock .
thread .
thread lock . lock lock .
20. lock
21. lock
1. thread .
2. .
3. thread lock .
4. .
22. lock
multi thread .
lock .
lock .
.
23. Moniter
lock
Update .
24. lock .
find lock
25. lock
lock .
lock . . heap
26. lock .
lock .
thread lock .
. Worker thread .
27. thread reader-writer lock lock . lock reader lock writer .
multi thread . .
. .
lock . .
28. Dead lock
Lock A
Lock B
thread 1
thread 2
29. Dead lock
1. lock lock .lock .
2. thread thread thread lock .
lock thread .
Dead lock lock
30. lock
lock .
10 .
1. / .
lock 100 lock .
lock .
31. 2. lock .
lock lock .
lock lock busy lock .
worker thread .
32.
multi thread .
multi thread .
multi thread lock .
lock lock .
33.
MSDN 2005 8
()
http://msdn.microsoft.com/ja-jp/magazine/cc163744%28en-us%29.aspx

http://jacking75.cafe24.com/MSDN_MagaZine/MS_MagaZINE_200508-1.htm