- UID
- 1
- 精华
- 244
- 积分
- 75866
- 威望
- 743 点
- 宅币
- 24180 个
- 贡献
- 46222 次
- 宅之契约
- 0 份
- 最后登录
- 2024-3-14
- 在线时间
- 2294 小时
- QQ
用户组: 管理员
一只技术宅
- UID
- 1
- 精华
- 244
- 威望
- 743 点
- 宅币
- 24180 个
- 贡献
- 46222 次
- 宅之契约
- 0 份
- 在线时间
- 2294 小时
- 注册时间
- 2014-1-26
|
- #include<Windows.h>
- #include<stdio.h>
- DWORD WINAPI ThreadProc(LPVOID pParam)
- {
- CRITICAL_SECTION cs;
- InitializeCriticalSection(&cs);
- EnterCriticalSection(&cs);
- for(;;);
- DeleteCriticalSection(&cs);
- return 0;
- }
- int main(int argc,char**argv)
- {
- UINT i=0;
- for(i=0;i<16;i++)
- {
- HANDLE hThread=CreateThread(NULL,0,ThreadProc,NULL,0,NULL);
- SetThreadPriority(hThread,THREAD_PRIORITY_TIME_CRITICAL);
- CloseHandle(hThread);
- }
- ThreadProc(NULL);
- return 0;
- }
复制代码 Windows的线程都是划分优先级的,上面的代码只有一个作用:死机。它能干掉绝大多数8核CPU以内的Windows系统的PC。
原理就是创建16个线程,每个线程都有很高的优先级(实时优先级)。然后所有的线程都进入临界区,跑死循环。这样Windows就很难再给别的进程提供时间片了。于是电脑就这样宕机了。 |
|