동기화의 새로운 기능
Windows에는 동기화를 위한 다음과 같은 새로운 프로그래밍 요소가 포함되어 있습니다.
Windows 8
새로운 함수
-
동기화 장벽을 삭제합니다.
-
최대 스레드 수가 장벽에 들어갈 때까지 호출 스레드가 동기화 장벽에서 대기하도록 합니다.
-
지정된 시간 제한 간격 내에서 지정된 파일, 명명된 파이프 또는 통신 디바이스에서 겹치는 작업의 결과를 검색합니다. 호출 스레드는 경고 대기를 수행할 수 있습니다.
-
새 동기화 장벽에 대한 최대 스레드 수 및 스핀 수를 지정합니다.
-
지정된 주소의 값이 변경될 때까지 기다립니다.
-
주소 값이 변경되기를 기다리는 모든 스레드를 절 해제합니다.
-
주소 값이 변경되는 것을 기다리는 스레드 하나를 절 해제합니다.
새 Interlocked 함수
-
지정된 LONG 값에 대해 원자성 추가 작업을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 LONGLONG 값에 대해 원자성 추가 작업을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 LONG 값에 대해 원자성 AND 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 char 값에 대해 원자성 AND 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 SHORT 값에 대해 atomic AND 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 LONGLONG 값에 대해 atomic AND 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 LONG64 값의 지정된 비트를 테스트하고 보완합니다. 이 작업은 원자성 작업입니다.
-
지정된 LONG 값의 지정된 비트를 테스트하고 0으로 설정합니다. 작업은 원자성이며 메모리 주문 의미 체계 획득을 사용하여 수행됩니다.
-
지정된 LONG 값의 지정된 비트를 테스트하고 0으로 설정합니다. 작업은 원자성이며 메모리 릴리스 의미 체계를 사용하여 수행됩니다.
-
지정된 LONG 값의 지정된 비트를 테스트하고 1로 설정합니다. 작업은 원자성이며 메모리 주문 의미 체계 획득을 사용하여 수행됩니다.
-
지정된 LONG 값의 지정된 비트를 테스트하고 1로 설정합니다. 작업은 원자성이며 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
-
지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 32비트 값과 교환을 비교 결과에 따라 다른 32비트 값과 비교합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 16비트 값과 교환을 비교 결과에 따라 다른 16비트 값과 비교합니다.
-
지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 16비트 값과 교환을 비교 결과에 따라 다른 16비트 값과 비교합니다. 작업은 메모리 순서 지정 의미 체계를 획득하여 수행됩니다.
-
지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 16비트 값과 교환을 비교 결과에 따라 다른 16비트 값과 비교합니다. 교환은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
-
지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 16비트 값과 교환을 비교 결과에 따라 다른 16비트 값과 비교합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 64비트 값과 교환을 비교 결과에 따라 다른 64비트 값과 비교합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 128비트 값과 교환을 비교 결과에 따라 다른 128비트 값과 비교합니다.
-
지정된 값에 대해 원자성 비교 및 교환 작업을 수행합니다. 함수는 두 개의 지정된 포인터 값과 교환을 비교 결과에 따라 다른 포인터 값과 비교합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 32비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 16비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다.
-
지정된 16비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 순서 지정 의미 체계를 획득하여 수행됩니다.
-
지정된 16비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
-
지정된 16비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 64비트 변수의 값을 원자성 연산으로 감소(1씩 감소)합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
64비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
8비트 변수를 지정된 값으로 원자성 연산으로 설정합니다.
-
16비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 작업은 메모리 획득 순서 의미 체계를 사용하여 수행됩니다.
-
16비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
64비트 변수를 지정된 값으로 원자성 연산으로 설정합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
한 쌍의 주소를 원자성으로 교환합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
두 개의 32비트 값에 대한 원자성 추가를 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
두 개의 64비트 값에 대한 원자성 추가를 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 32비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 16비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다.
-
지정된 16비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 작업은 메모리 획득 순서 의미 체계를 사용하여 수행됩니다.
-
지정된 16비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 이 작업은 릴리스 메모리 순서 의미 체계를 사용하여 수행됩니다.
-
지정된 16비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 64비트 변수의 값을 원자성 연산으로 증분(1씩 증가)합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 LONG 값에 대해 원자성 OR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 char 값에 대해 원자성 OR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 SHORT 값에 대해 원자성 OR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 LONGLONG 값에 대해 원자성 OR 연산을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
다른 Singly 연결된 목록의 맨 앞에 Singly 연결된 목록을 삽입합니다. 목록에 대한 액세스는 다중 프로세서 시스템에서 동기화됩니다. 이 버전의 메서드는 __fastcall 호출 규칙을 사용하지 않습니다.
-
지정된 LONG 값에 대해 원자성 XOR 작업을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 char 값에 대해 원자성 XOR 작업을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 SHORT 값에 대해 원자성 XOR 작업을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
-
지정된 LONGLONG 값에 대해 원자성 XOR 작업을 수행합니다. 작업은 메모리 장벽을 사용하지 않고 원자성으로 수행됩니다.
Windows 7
새로운 함수
-
지정된 대기 가능 타이머를 활성화하고 타이머에 대한 컨텍스트 정보를 제공합니다.
-
전용 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득하려고 시도합니다. 호출에 성공하면 호출 스레드가 잠금의 소유권을 맡습니다.
-
공유 모드에서 SRW(슬림 판독기/기록기) 잠금을 획득하려고 시도합니다. 호출에 성공하면 호출 스레드가 잠금의 소유권을 맡습니다.
새 구조체
-
SetWaitableTimerEx로 활성화된 타이머에 대한 컨텍스트 정보를 포함합니다.