windows线程同步之事件(event)(用例)

简单学习测试用例

#include <Windows.h>
#include <stdio.h>
int num = 0;
DWORD thProc0(LPVOID hd)
{
    while (1)
    {
        Sleep(1000);
        // 激活
        SetEvent(hd);
    }
}
DWORD thProc1(LPVOID hd)
{
    while (1)
    {
        WaitForSingleObject(hd, INFINITE);
        // 复位
        ResetEvent(hd);
        printf("%d\r", num++);
    }
}
int main()
{
    HANDLE th[2];
    DWORD thID;
    HANDLE Hevent = CreateEvent(0, TRUE, FALSE, NULL);
    th[0] = CreateThread(0, 0, thProc0, Hevent, 0, &thID);
    th[1] = CreateThread(0, 0, thProc1, Hevent, 0, &thID);
    // 阻塞
    WaitForMultipleObjects(2, th, TRUE, INFINITE);
    // system("pause");//或改用这个
    CloseHandle(Hevent);
    CloseHandle(th[0]);
    CloseHandle(th[1]);
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多线程执行测试框架用例可以提高执行效率,特别是在大规模测试中。以下是一个简单的示例代码,演示如何使用多线程执行测试框架的用例: ```python import threading import unittest # 定义测试用例类 class MyTestCase(unittest.TestCase): def test_case1(self): # 测试用例1的代码逻辑 pass def test_case2(self): # 测试用例2的代码逻辑 pass # 添加更多的测试用例方法... if __name__ == '__main__': # 创建测试套件并添加测试用例 suite = unittest.TestSuite() suite.addTest(MyTestCase('test_case1')) suite.addTest(MyTestCase('test_case2')) # 添加更多的测试用例... # 定义执行用例的函数 def run_test_case(test_case): # 执行用例 unittest.TextTestRunner().run(test_case) # 创建线程列表 threads = [] # 创建线程并启动执行 for test in suite: thread = threading.Thread(target=run_test_case, args=(test,)) thread.start() threads.append(thread) # 等待所有线程执行完毕 for thread in threads: thread.join() ``` 在上面的示例代码中,我们使用了 Python 自带的 unittest 框架来定义测试用例。首先,我们创建了一个 MyTestCase 类,其中包含了多个测试用例方法,比如 test_case1 和 test_case2。然后,我们创建了一个测试套件(suite)并添加了需要执行的测试用例。 接下来,我们定义了一个 run_test_case 函数,用于执行测试用例。然后,我们创建了一个线程列表,并使用线程创建和启动多个线程来执行测试用例。最后,我们使用 join() 方法等待所有线程执行完毕。 这样,我们就可以通过多线程的方式来执行测试框架的用例,提高执行效率。当然,在实际应用中,你可能还需要处理测试结果的收集和报告等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值