zoukankan      html  css  js  c++  java
  • GetThreadContext和SetThreadContext

    #include "stdafx.h" 
    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    DWORD WINAPI ThreadProc(LPVOID lpParamter)
    {
        for (int i = 0;i<10;i++)
        {
            Sleep(1000);
            printf("ThreadProc1********* %d\n",i);
        }
        return 0;
    }
    
    DWORD WINAPI ThreadProc1(LPVOID lpParamter)
    {
        for (int i = 0;i<50;i++)
        {
            Sleep(100);
            printf("ThreadProc1********* %d\n",i);
        }
        return 0;
    }
    
    DWORD WINAPI ThreadProc2(LPVOID lpParamter)
    {
        for (int j = 0;j<50;j++)
        {
            Sleep(50);
            printf("ThreadProc2********* %d\n",j);
        }
        return 5;
    }
    
    int main()
    {
        //unsigned long ulThreadId = 0;
        HANDLE hThread[2];
        DWORD dwr1;
        DWORD dwr2;
    
    
        hThread[0] = CreateThread(NULL, 0, ThreadProc1, NULL, 0, NULL);
        //hThread[1] = CreateThread(NULL, 0, ThreadProc2, NULL, 0, NULL);
    
        //Sleep(2000);
        SuspendThread(hThread[0]);
    
        CONTEXT context;
        context.ContextFlags = CONTEXT_INTEGER;

      //从线程获取寄存器的值存入context GetThreadContext(hThread[
    0],&context); printf("%x -- %x\n",context.Eax,context.Ecx); context.Eax = 1; context.Ecx = 2;

      //把修改好的context传入thread SetThreadContext(hThread[
    0],&context); printf("%x -- %x\n",context.Eax,context.Ecx); GetThreadContext(hThread[0],&context); printf("%x -- %x\n",context.Eax,context.Ecx); ResumeThread(hThread[0]); // WaitForMultipleObjects(2,hThread,TRUE,INFINITE); // GetExitCodeThread(hThread[0],&dwr1); // GetExitCodeThread(hThread[1],&dwr2); cout << "线程结束了!" <<endl; getchar(); CloseHandle(hThread[0]); CloseHandle(hThread[1]); //system("pause"); return 0; }
  • 相关阅读:
    Baum Welch估计HMM参数实例
    SVM 为什么要从原始问题变为对偶问题来求解
    Baum-Welch算法(EM算法)对HMM模型的训练
    LR采用的Sigmoid函数与最大熵(ME) 的关系
    01背包的常数优化的一点解释
    训练中文词向量
    TensorFlow L2正则化
    TensorFlow batch normalize的使用
    听说你的模型损失是NaN
    编译TensorFlow CPU指令集优化版
  • 原文地址:https://www.cnblogs.com/ganxiang/p/13140624.html
Copyright © 2011-2022 走看看