windows系统调用 调度优先级


 1 #include "iostream"
2 #include "windows.h"
3 using namespace std;
4
5 class CWorkerThread{
6 public:
7 CWorkerThread(LPCTSTR m_szName):m_szName(m_szName),m_hThread(INVALID_HANDLE_VALUE){
8 m_hThread=CreateThread(
9 NULL,
10 0,
11 ThreadProc,
12 reinterpret_cast<LPVOID>(this),
13 0,
14 NULL
15 );
16 }
17
18 virtual ~CWorkerThread(){CloseHandle(m_hThread);}
19
20 virtual void WaitForCompletion(){
21 WaitForSingleObject(m_hThread,INFINITE);
22 }
23
24 virtual void SetPriority(int nPriority){
25 SetThreadPriority(m_hThread,nPriority);
26 }
27
28 virtual void Suspend(){
29 SuspendThread(m_hThread);
30 }
31
32 virtual void Resume(){
33 ResumeThread(m_hThread);
34 }
35
36 protected:
37 static DWORD WINAPI ThreadProc(LPVOID lpParam){
38 CWorkerThread *pThis=
39 reinterpret_cast<CWorkerThread*>(lpParam);
40
41 pThis->DoStuff();
42 return (0);
43 }
44
45 virtual void DoStuff(){
46 for(int n=0;n<100;n++){
47 printf("Thread %s ID:%d,count %d\n",m_szName,GetCurrentThreadId(),n);
48 }
49 }
50
51 protected:
52 HANDLE m_hThread;
53 LPCTSTR m_szName;
54 };
55
56 void main(){
57
58 CWorkerThread wtB("B");
59 CWorkerThread wtA("A");
60 wtA.SetPriority(THREAD_PRIORITY_LOWEST);
61
62
63 wtA.WaitForCompletion();
64 wtB.WaitForCompletion();
65
66 cout<<"Both threads complete."<<endl;
67
68 getchar();
69 }

windows系统调用 调度优先级,布布扣,bubuko.com

时间: 2024-12-21 13:07:56

windows系统调用 调度优先级的相关文章

windows系统调用 进程终止

1 #include "windows.h" 2 #include "iostream" 3 #include "stdio.h" 4 using namespace std; 5 6 static LPCTSTR q_szMutexName="w2kdg.ProcTerm.mutex.Suicide"; 7 8 HANDLE StartClone(){ 9 TCHAR szFilename[MAX_PATH]; 10 Get

windows系统调用 进程快照

1 #include "windows.h" 2 #include "tlhelp32.h" 3 #include "iostream" 4 using namespace std; 5 6 #pragma comment(lib,"kernel32.lib") 7 8 DWORD GetKernelModePercentage(const FILETIME& ftKernel, 9 const FILETIME&am

[转载]Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取

原文地址:点击打开链接 为什么要写这篇文章 1.      因为最近在学习<软件调试>这本书,看到书中的某个调试历程中讲了Windows的系统调用的实现机制,其中讲到了从Ring3跳转到Ring0之后直接进入了KiFastCallEntry这个函数. 2.      碰巧前天又在网上看到了一篇老文章介绍xxx安全卫士对Windows系统调用的Hook,主要就是Hook到这个函数 3.      刚刚做完毕业设计,对使用中断来实现系统调用的方式记忆犹新. 以上原因导致我最近眼前总是出现系统调用这

windows系统调用 semaphore信号量

1 #include "iostream" 2 #include "windows.h" 3 #include "cstring" 4 using namespace std; 5 6 HANDLE g_hSemThreads=INVALID_HANDLE_VALUE; 7 8 static DWORD WINAPI ThreadProc(LPVOID lpParam){ 9 LONG nPauseMs=reinterpret_cast<L

windows系统调用 利用事件对象实现进程通信

1 #include "iostream" 2 #include "windows.h" 3 #include "cstring" 4 using namespace std; 5 6 static LPCTSTR g_szContinueEvent="w2kdg.EventDemo.event.Continue"; 7 8 BOOL CreateChild(){ 9 TCHAR szFilename[MAX_PATH]; 1

windows系统调用 线程创建

1 #include "windows.h" 2 #include "iostream" 3 using namespace std; 4 5 class CWorkerThread{ 6 public: 7 CWorkerThread(LPCTSTR szName): 8 m_szName(szName),m_hThread(INVALID_HANDLE_VALUE){ 9 m_hThread=CreateThread( 10 NULL, 11 0, 12 Thr

windows系统调用 获取当前内存信息

1 #include "iostream" 2 #include "windows.h" 3 #include "shlwapi.h" 4 #include "iomanip" 5 #pragma comment(lib,"shlwapi.lib") 6 using namespace std; 7 8 void main(){ 9 SYSTEM_INFO si; 10 ZeroMemory(&si

windows系统调用 临界区机制

1 #include "iostream" 2 #include "windows.h" 3 #include "cstring" 4 using namespace std; 5 6 7 static int g_nIndex=0; 8 const int MAX_TIMES=10; 9 static DWORD g_dwTimes; 10 CRITICAL_SECTION g_CriticalSection; 11 12 DWORD WINA

Windows系统调用中API的3环部分(依据分析重写ReadProcessMemory函数)

Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中API的3环部分 一.R3环API分析的重要性 Windows所提供给R3环的API,实质就是对操作系统接口的封装,其实现部分都是在R0实现的. 很多恶意程序会利用钩子来钩取这些API,从而达到截取内容,修改数据的意图. 现在我们使用olldbg对ReadProcessMemory进行跟踪分析,查看其在R3的实现,并根据我们的分析来重写一个