Sleep()和yiled()函数

Posted -citywall123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sleep()和yiled()函数相关的知识,希望对你有一定的参考价值。

技术图片

 

 

#include<iostream>
#include<thread>
#include<mutex>
#include<atomic>
using namespace std;
mutex g_mutex;
atomic<bool> isok = false;
void func(int id) {

    //只有当所有线程创建完成之后才能启动,否则会被挂起,让出cpu的控制权给其它等待的线程使用
    while (isok == false) {
        this_thread::yield();
    }

    for (int i = 0; i < 5; i++) {
        lock_guard<mutex> lock(g_mutex);
        cout << "thread id=" << id << "    " << i << endl;
    }
}

int main()
{
    thread threads[5];

    for (int i = 0; i < 5; i++) {
        threads[i] = thread(func, i);
    }
    isok = true;
    
    for (int i = 0; i < 5; i++) {
        threads[i].join();
    }
    system("pause");
    return 0;
}

技术图片

 

以上是关于Sleep()和yiled()函数的主要内容,如果未能解决你的问题,请参考以下文章

Sleep() 方法后的代码片段没有被执行

excel yiled函数怎么用

1 代码片段1

Selenium Xpath元素无法定位 NoSuchElementException: Message: no such element: Unable to locate element(代码片段

是否有函数也暂停 php 代码执行而不是 sleep()?

js sleep函数怎么没有反应?