• 时间同步



    定时的要完成一些事情。时间的线程同步。

    操作系统中,每打开一个窗口,每个窗口都有一个地址,操作系统管理他是通过链表来管理的。

    #include <stdio.h>
    #include <stdlib.h>
    #include <Windows.h>
    
    //单独定时间同步通信
    //单独定时器只能用于同步通信,不能用于跨线程之间的通信,异步就不能通信了
    void main1() { while (1) { printf("fangfang "); Sleep(2000); } system("pause"); } void main2() { HANDLE timer = CreateWaitableTimer(NULL, TRUE, NULL);//创建定时器 if (timer == NULL) { return; } else { LARGE_INTEGER time; time.QuadPart = -50000000;//2秒 //10 ^-7 秒 0.1微妙 SetWaitableTimer(timer, &time, 0, NULL, 0, NULL);//设置定时器等待2秒 if (WaitForSingleObject(timer, INFINITE) == WAIT_OBJECT_0) { printf("等待成功"); } else { printf("等待失败"); } } system("pause"); } HANDLE timer; DWORD WINAPI go1(void *p) { MessageBoxA(0, "1", "1", 0); timer = CreateWaitableTimer(NULL, TRUE, NULL);//创建定时器 LARGE_INTEGER time; time.QuadPart = -50000000;//2秒 //10 ^-7 秒 0.1微妙 SetWaitableTimer(timer, &time, 0, NULL, 0, NULL);//设置定时器等待2秒 } DWORD WINAPI go2(void *p) { MessageBoxA(0, "2", "2", 0); printf("等待成功"); } int main() { HANDLE hd=CreateThread(NULL, 0, go1, NULL, 0,NULL); WaitForSingleObject(hd, INFINITE); if (WaitForSingleObject(timer, INFINITE) == WAIT_OBJECT_0) { CreateThread(NULL, 0, go2, NULL, 0, NULL); printf("等待成功"); } else { printf("等待失败"); } getchar(); }
  • 相关阅读:
    C++ *和&
    leetcode 338. Bit位计数
    leetcode 216. 组合总和 III
    leetcode 40. 组合总和 II
    c++ vector 常用函数
    leetcode 491. 递增子序列
    leetcode 441. 排列硬币
    leetcode 258. 各位相加
    leetcode 415. 字符串相加
    leetcode 67. 二进制求和
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5783430.html
Copyright © 2020-2023  润新知