c++ break while

#include <iostream>
#include <vector>
#include <pthread.h>
#include "destory_free_while.h"
using namespace std;

Worker::Worker() {
    shutdown = false;
    num_thread = 10;
}
void Worker::start() {
    tids.resize(num_thread);
    for (int i = 0; i <num_thread ; ++i) {
        if (pthread_create(&tids[i], NULL, sleeping, this) == 0) {
            cout << "thread start complete" << endl;
        }
    }
}

Worker::~Worker() {
    cout << "begin destory instance" << endl;
    shutdown = true;
    for(unsigned int i=0; i<tids.size(); i++) {
        pthread_join(tids[i], NULL);
    }
}

void* Worker::sleeping(void* arg) {
    Worker* work = (Worker*)arg;
    while(true) {
        cout << "." << flush;
        sleep(1);
        if(work->shutdown) {
            cout << " destory instance , thread quit" << endl;
            break;
        }

    }
}

/* vim: set ts=4 sw=4 sts=4 tw=100 */
#ifndef DESTORY_FREE_WHILE_H
#define DESTORY_FREE_WHILE_H
#include <vector>
#include <pthread.h>
class Worker {
public:
    Worker();
    ~Worker();
    void start();
public:
    static void* sleeping(void* arg);
public:
    std::vector<pthread_t> tids;
    int num_thread;
    bool shutdown;
};

#endif  // DESTORY_FREE_WHILE_H
#include <iostream>
#include "destory_free_while.h"
using namespace std;

int main() {
    Worker worker;
    worker.start();
    sleep(20);
    cout << "program exit" << endl;
}
时间: 2024-11-15 00:33:56

c++ break while的相关文章

while与do while 区别 for循环的简介及break和continue的区别

do while 循环和while循环的区别   1.do while循环是先执行循环体,然后判断循环条件,如果为真,则执行下一步循环,否则终止循环:    while循环是先判断循环条件,如果条件为真则执行循环体:   2.do while循环条件后面必须有一个分号,这个分号表明循环结束. 1.for循环 for循环是更加简洁的循环语句,大部分情况下,for循环可以代替while循环.do-while循环. for循环的格式为: for( 初始语句  ; 执行条件  ; 增量 ) { 循环体

第五节:python continue break的用法

for i in range(1,100):   if i==50:     print 'i have print 50'     continue  print i 此处的print i 和 if i==50:属于同级,执行的都是上级for.  print 'i have print 50' 和continue属于同级. continue 为跳出本次循环,break为跳出整个循环.两者只能在循环中使用.

shell编程中for,while,util,case,select,break, continue用法详解

关于shell脚本的更多详细实例讲解请参考:http://www.cnblogs.com/yuexiaxiaoxi/category/646749.html Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for.while和until.while循环和for循环属于"当型循环",而until属于"直到型循环".循环控制符:break和continue控制流程转向. 参考:<Linux 与unix shell 编程指

Break、Continue、Return区别

1)break     直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试.他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出.     2)continue     也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行. 3)return 语句可被用来使 正在执行分支程序返回到调用它方法.

【C语言】break,continue的区别

break: (1)永久结束循环,下一条执行的是正常结束循环时的下一条语句. (2)对于while语句,使用break,循环就会永久结束. (3)对于for语句,使用break,便终止不再执行for语句,开始执行for语句之后的语句. continue: (1)结束当前循环,结束后开始再判断是否满足循环条件. (2)对于while语句,使用continue,循环体内的剩余语句不再执行,而是开始下一条循环语句. (3)对于for语句,使用continue,则循环体内的剩余语句不再执行,开始判断fo

在c中break的使用

break语句通常用在循环语句和开关语句中.当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句:如果没有break语句,则会从满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执行,直到switch结构结束. 当break语句用于do-while.for.while循环语句中时,可使程序终止循环.而执行循环后面的语句,通常break语句总是与if语句联在一起.即满足条件时便跳出循环. 例: main() { int i=0; c

LeetCode-Word Break

Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, given s = "leetcode", dict = ["leet", "code"]. Return true because

Word Break II

https://oj.leetcode.com/problems/word-break-ii/ Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary word. Return all such possible sentences. For example, givens = "catsanddog

linux 循环结构中的 break continue exit return区别

1 概述 在脚本的循环中,需要用到break,continue,exit.来控制循环.利用return来获取函数的返回值.本文将对这四个命令的使用做介绍 break [N]:提前结束第N层循环,最内层为第1层 continue [N]:提前结束第N层的本轮循环,而直接进入下一轮判断:最内层为第1层 exit 命令终止脚本 2  break continue exit   对比 2.1 break 和continue 测试 假设一个循环体内,总共嵌套了3层循环,总循环体N为3,break 和con

break 和 continue 语句

break: 在循环语句中,break用于永久的终止循环.立即退出循环. 在执行完break语句之后,执行流下一条执行的语句,就是循环正常结束后应该执行的下一条语句. 例如: while( scanf( "%f",&value ) == 1 ) { if( value < 0 ) { break; } } continue: 在循环语句中,continue用于永久终止当前的那次循环. 在执行完continue语句之后,循环体内的剩余部分便不再执行,而接下来就是重新测试表达