Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;-不断增加一个整数_C++_Increment - Fatal编程技术网

C++ C++;-不断增加一个整数

C++ C++;-不断增加一个整数,c++,increment,C++,Increment,我正在寻找一种方法,使整数每隔10秒左右不断递增。我知道如何使整数递增,但我不知道如何使它继续递增,无论程序的其余部分当前发生了什么。为此使用std::thread 创建一个函数 void incrementThread(int &i) { while(someCondition) { //sleep for 10 seconds //increment your value i++; std::this_thread::sleep_for(std

我正在寻找一种方法,使整数每隔10秒左右不断递增。我知道如何使整数递增,但我不知道如何使它继续递增,无论程序的其余部分当前发生了什么。

为此使用
std::thread

创建一个函数

void incrementThread(int &i)
{
  while(someCondition)
  {
    //sleep for 10 seconds
    //increment your value
    i++;
    std::this_thread::sleep_for(std::chrono::duration<int>(10));
  }
}

为此使用
std::thread

创建一个函数

void incrementThread(int &i)
{
  while(someCondition)
  {
    //sleep for 10 seconds
    //increment your value
    i++;
    std::this_thread::sleep_for(std::chrono::duration<int>(10));
  }
}

为此使用
std::thread

创建一个函数

void incrementThread(int &i)
{
  while(someCondition)
  {
    //sleep for 10 seconds
    //increment your value
    i++;
    std::this_thread::sleep_for(std::chrono::duration<int>(10));
  }
}

为此使用
std::thread

创建一个函数

void incrementThread(int &i)
{
  while(someCondition)
  {
    //sleep for 10 seconds
    //increment your value
    i++;
    std::this_thread::sleep_for(std::chrono::duration<int>(10));
  }
}
使用C++11样式:

#包括
#包括
#包括
int main()
{
std::原子i{0};
std::thread thread_time([&](){while(true){++i;std::this_thread::sleep_for(std::chrono::seconds(10));});
while(true){
std::cout使用C++11样式:

#包括
#包括
#包括
int main()
{
std::原子i{0};
std::thread thread_time([&](){while(true){++i;std::this_thread::sleep_for(std::chrono::seconds(10));});
while(true){
std::cout使用C++11样式:

#包括
#包括
#包括
int main()
{
std::原子i{0};
std::thread thread_time([&](){while(true){++i;std::this_thread::sleep_for(std::chrono::seconds(10));});
while(true){
std::cout使用C++11样式:

#包括
#包括
#包括
int main()
{
std::原子i{0};
std::thread thread_time([&](){while(true){++i;std::this_thread::sleep_for(std::chrono::seconds(10));});
while(true){


std::你能在一个独立于主程序执行的线程中搜索10秒后增加一个整数吗?你不能通过存储开始时间并与当前时间进行比较来实现同样的按需运算吗?你可以使用一个单独的线程。只要让它“每10秒左右”循环一次就可以了,让它在每次增量之间休眠10秒。但为什么要这样做,您将使用该值做什么?在开始时初始化一个
base=getCurrentMillis
。每当您要访问此整数时,请使用
(getCurrentMillis-base)/(10*1000)
取而代之。查找文档以查找
getCurrentMillis
您正在搜索与主程序执行无关的线程中10秒后将增加一个整数之类的内容。您不能通过存储开始时间并与当前时间进行比较来实现相同的按需算术操作吗?您可以使用单独的线程。J必须让它“每10秒左右”循环一次,让它在每次增量之间休眠10秒。但是为什么要这样做,您将使用该值做什么?在开始时初始化一个
base=getCurrentMillis
。无论何时要访问该整数,请使用
(getCurrentMillis-base)/(10*1000)
取而代之。查找文档以查找
getCurrentMillis
您正在搜索与主程序执行无关的线程中10秒后将增加一个整数之类的内容。您不能通过存储开始时间并与当前时间进行比较来实现相同的按需算术操作吗?您可以使用单独的线程。J必须让它“每10秒左右”循环一次,让它在每次增量之间休眠10秒。但是为什么要这样做,您将使用该值做什么?在开始时初始化一个
base=getCurrentMillis
。无论何时要访问该整数,请使用
(getCurrentMillis-base)/(10*1000)
取而代之。查找文档以查找
getCurrentMillis
您正在搜索与主程序执行无关的线程中10秒后将增加一个整数之类的内容。您不能通过存储开始时间并与当前时间进行比较来实现相同的按需算术操作吗?您可以使用单独的线程。J必须让它“每10秒左右”循环一次,让它在每次增量之间休眠10秒。但是为什么要这样做,您将使用该值做什么?在开始时初始化一个
base=getCurrentMillis
。无论何时要访问该整数,请使用
(getCurrentMillis-base)/(10*1000)
相反。查找文档以查找
getCurrentMillis
这将增加存储在
incrementThread
中的
i
的本地副本,
main
中的
i
不会更改。使
i
静态以修复此问题(我认为)这不是线程保存。
i
必须被锁定或
atomic
。否则,来自不同线程的读/写访问是一种数据竞争和未定义的行为。这将增加存储在
incrementThread
中的
i
的本地副本,
main
中的
i
不会更改。使
i
静态以修复此问题(我想)这不是线程保存。
i
必须被锁定或
atomic
。否则,来自不同线程的读/写访问是一种数据竞争和未定义的行为。这将增加存储在
incrementThread
中的
i
的本地副本,
main
中的
i
不会更改。使
i
静态以修复此问题(我想)这不是线程保存。
i
必须被锁定或
atomic
。否则,来自不同线程的读/写访问是一种数据竞争和未定义的行为。这将增加存储在
incrementThread
中的
i
的本地副本,
main
中的
i
不会更改。使
i
静态以修复此问题(我认为)这不是线程保存。
I
必须被锁定或
atomic
。否则,来自不同线程的读/写访问是一种数据竞争和未定义的行为。