| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | thread safe |
Craig Swanson wrote in a message to Phil Crown: CS> It is possible that OS/2 applications will sometimes execute CS> on SMP (symmetric multiprocessing) systems. In this case, CS> it is entirely possible that "same time" will be literally CS> true as one thread can be running on each CPU, meaning CS> multiple threads are literally running simultaneously. OS/2 SMP never actually does this. Any given page of code can only run in one of the processors at a time, even if it is being called from multiple threads. The main reason for this is that device driver code would get extremely confused otherwise, since OS/2 internally uses the caller's address to flag its blocking and return state. CS> Making code SMP-safe takes it one step further as you must CS> then consider that some practices that would be safe on a CS> single CPU system will not be safe on a multiple CPU system. CS> For instance, a simple Intel x86 INC instruction used to CS> update a counter being handled by multiple threads would CS> need to have a LOCK prefix before it to make it SMP-safe. The LOCK instruction has nothing to do with the other processor in SMP, but simply reserves the bus. It dates back to the 8086, which certainly had no SMP support! Rather, locks in SMP are exchanged logically within the operating system. -- Mike ---* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107) SEEN-BY: 50/99 270/101 620/243 711/401 409 410 413 430 808 809 934 955 SEEN-BY: 712/407 515 517 628 713/888 800/1 7877/2809 @PATH: 323/107 170/400 396/1 270/101 712/515 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.