- 变量自增
1 InterlockedIncrement(&num);
- 变量加一个指定数
1 InterlockedAdd(&num, 100);
完整代码:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <Windows.h> 4 5 int num = 0; 6 7 8 DWORD WINAPI add(void *p) 9 { 10 for (int i = 0; i < 10000; i++) 11 { 12 //InterlockedIncrement(&num); 13 InterlockedAdd(&num, 100); 14 } 15 16 return 0; 17 } 18 19 void main() 20 { 21 22 HANDLE hd[10]; 23 for (int i = 0; i < 10; i++) 24 { 25 hd[i] = CreateThread(NULL, 0, add, NULL, 0, NULL); 26 } 27 WaitForMultipleObjects(10, hd, TRUE, INFINITE); 28 29 printf("%d", num); 30 31 system("pause"); 32 }