C++多线程sleep函数会互相影响吗
4个回答
展开全部
不影响其他线程。另外,这跟c++没关系,线程怎么实现是操作系统决定的。比如linux上pthread就是遵循POSIX标准的。
Sleep函数在C++语言中是非常重要并且非常常用的一个函数,它的作用为当程序执行到这个函数时,将暂停,然后到达条件后才继续执行,此处的条件为暂停的时间,即实参部分,单位是毫秒。(注:1秒=1000毫秒)。比如你的实参部分为100,即Sleep(1000);那么,当程序执行到这里是,将暂停1000毫秒,即一秒,然后才继续执行。
实例
// 倒计时程序#include <iostream>
#include <windows.h> // 头文件
using namespace std;
int main()
{
int z;
// 定义变量
do // 执行do_while语句
{
cout<<"你要倒计时多少秒呢?"<<endl;
int a;
cin>>a;
int b;
for(b=a;b>=1;- -b)
{
cout<<b<<endl;
Sleep(1000); // 调用Sleep函数,即每1000毫秒(1秒)输出一次
}
cout<<"时间到!\a"<<endl;
cin.ignore(100,'\n'); // 清除输入流中多余的字符
cout<<"1 重新倒计时\n"<<"2 退出"<<endl;
cin>>z;
}
while(z==1); // 判断是否重新倒计时
cin.get(); // 程序暂停
return 0; // 主函数返回值} // 结束主函数。
Sleep函数在C++语言中是非常重要并且非常常用的一个函数,它的作用为当程序执行到这个函数时,将暂停,然后到达条件后才继续执行,此处的条件为暂停的时间,即实参部分,单位是毫秒。(注:1秒=1000毫秒)。比如你的实参部分为100,即Sleep(1000);那么,当程序执行到这里是,将暂停1000毫秒,即一秒,然后才继续执行。
实例
// 倒计时程序#include <iostream>
#include <windows.h> // 头文件
using namespace std;
int main()
{
int z;
// 定义变量
do // 执行do_while语句
{
cout<<"你要倒计时多少秒呢?"<<endl;
int a;
cin>>a;
int b;
for(b=a;b>=1;- -b)
{
cout<<b<<endl;
Sleep(1000); // 调用Sleep函数,即每1000毫秒(1秒)输出一次
}
cout<<"时间到!\a"<<endl;
cin.ignore(100,'\n'); // 清除输入流中多余的字符
cout<<"1 重新倒计时\n"<<"2 退出"<<endl;
cin>>z;
}
while(z==1); // 判断是否重新倒计时
cin.get(); // 程序暂停
return 0; // 主函数返回值} // 结束主函数。
展开全部
不影响其他线程。另外,这跟c++没关系,线程怎么实现是操作系统决定的。比如linux上pthread就是遵循POSIX标准的。c++对线程是一无所知的(至少在c++0x之前,c++0x提供了一个跨平台的线程库,你可以看看)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sleep只是令本线程挂起,不影响其他线程
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-12-13
展开全部
如果是线程之间是互斥的使用公共变量,就不会受影响……
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询