多线程下的if,经常是while(...)
对于死等,在jdk中很多使用了 for(;;)
狗了一下 while(true) vs for(;;),有种说法是汇编级别,for(;;)更节省。
当然,该结论没代码,没版本,没验证方法,暂报疑惑。且22世纪了,代码可以傻些。
while (true) { //(1)
//for (;;) { //(2)
//for (int i = 1; i > 0; i++) //(3)
if (args.length == 1) break;
if (args.length == 2) break;
}
sun jdk 6 ,默认编译。
使用 Java Bytecode Editor和 JD 看了一下 *.class
能看到 (1)和(2) 被编译器弄成一样了。
等效于:
while ((args.length != 1) && (args.length != 2));
(3)等效于
for (int i = 1; i > 0; i++)
if ((args.length == 1) || (args.length == 2)) break;
基本结论,
1. 个人习惯,爱用哪个用哪个,编译器都会私下做些事。
2. for (int i = 1; i > 0; i++) 不是死等,上限是正数最大值。
所以对于不太确定是否死掉的死等,这个算是活等。
分享到:
相关推荐
ture. We offer this design-centric approach because, as we talked to several companies about their programs, we discovered one of the keys to their success was the willing‐ ness to not stick to a ...
abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit ...
1Complete a recursive–descent parser for TINY+. Parser gives syntax analysis to the tokens generated by the scanner. Output of the parser is an abstract syntax tree. 2Semantic analyzer builds the ...
关键字:int char if else real for do while 数字、变量名(不使用下划线,头字母不为数字)、符号 词法分析生成*.TAKEN、*.SymbolTable两个文件。 保留部分语法分析接口,可以继续完成。 词法分析部分在Lex文件夹...
ed question and the user profile, while ignoring the important statistical features, including the question-specific statistical fea-ture and the user-specific statistical features. Moreover, ...
3. `While(ture)`:这是一个无限循环,直到找到最大团或者所有可能的情况都尝试过。 4. `While(i(i)) {x[i++]=1;cn++;}`:在此循环中,如果节点`i`可以加入当前团(由`ok(i)`函数判断),则将其添加到团中(`x[i++]=...
然后用while和do…while语句完成同样的循环。 解: for循环: for (int n = 100; n ; n += 2); while循环: int x = 100; while (n ) n += 2; do…while循环: int n = 100; do { n += 2; } while(n ); 2-14 if...
- 示例中,我们使用`for`循环和`while`循环分别计算相同的数学表达式,并比较它们的执行时间。 以上是对所给题目中涉及的知识点的详细解析,希望能帮助理解和掌握MATLAB的基本用法和编程技巧。
while (n >= 0 && m ) { if (strs[n] != strs[m]) return false; m++; n--; } return true; } ``` 这段代码首先计算字符串的长度,然后设置两个指针 `m` 和 `n` 分别从字符串的开头和结尾开始移动。如果在...
WHILE i<n BEGIN FOR j:=1 TO n DO x:=x+1;i:=i*2 END; 13. 下面程序段中带有下划线的语句的执行次数的数量级是( ) 【合肥工业大学 2001 三、1(2分)】 i:=n*n WHILE i<>1 DO i:=i div 2; 14. 计算机执行下面的...
The interface gives standard access to as many features as possible, while leaving room for future ex¬ten-sions and vendor-specific customizations. Applications should be able to get the tablet ...
isNaN() 函数的作用是用来判断参数是否为数字 ture 的话就是为数字,false 就是不是数字。 JavaScript 事件 onclick 事件:是鼠标单击事件 onmouseover 事件:是鼠标移入事件 onmouseout 事件:是鼠标移出事件 ...
获取结果的方式有`get`、`wait`和`wait_for`。`get`会阻塞直到结果可用,并返回结果;`wait`仅阻塞直到任务完成,不返回结果;`wait_for`则在指定时间内等待,如果超时则返回`timeout`。 下面是一个`future`和`...