-1

我正在研究互斥锁和信号量的编程解决方案。我在这里处理的大多数循环是:

while(true)
{
/* do nothing*/
}

我遇到了一些他们拥有的算法的伪代码

while choosing[i] do skip ;

choosing是一个布尔数组)

那么do skip和“什么都不做”一样吗?

我将在 java 中实现伪代码。

4

2 回答 2

1

利用continue

while(true)
{

//condition
 continue;
}

请参阅有关分支语句的 oracle 文档

continue 语句跳过 for、while 或 do-while 循环的当前迭代。

看Oracle给出的例子

 public static void main(String[] args) {

        String searchMe = "peter piper picked a " + "peck of pickled peppers";
        int max = searchMe.length();
        int numPs = 0;

        for (int i = 0; i < max; i++) {
            // interested only in p's
            if (searchMe.charAt(i) != 'p')
                continue;

            // process p's
            numPs++;
        }
        System.out.println("Found " + numPs + " p's in the string.");
    }

这是完整的演示代码

于 2013-09-21T10:26:12.037 回答
0

我觉得更像是:

if(! choosing[i]) {
      //Do some logic
}
于 2013-09-21T10:29:44.897 回答