一个微小的调优去掉嵌套的if,else

简介: 一个微小的调优去掉嵌套的if,else

精简代码


版本一


// 代码的原意是如果存在文件,就判断一个文件中内容有无,没有的话线程睡0.1s, 有的话跳出循环


while(true){
        if(Files.exists(Paths.get("data/mkcert/"+serialNo+".crt"))){
            Path path = Paths.get("data/mkcert/" + serialNo + ".crt");
            File file = new File(String.valueOf(path));
            if (0 == file.length()) {
                Thread.sleep(100);
            }else {
                break;
            }
        }
      }
• 11


版本二


改版是限制在2s 之内 避免上面的程序死循环


int tick = 0;
  while(tick++ < 20){
      if(Files.exists(Paths.get("data/mkcert/"+serialNo+".crt"))){
          File file = new File("data/mkcert/" + serialNo + ".crt");
          if (0 == file.length()) {
              Thread.sleep(100);
          }else {
              break;
          }
      }else {
          Thread.sleep(100);
      }
  }


版本三


改版是限制在2s 之内 反过来,当文件存在并且有内容 跳出循环 否在等待 少用了if嵌套


int tick = 0;
    while(tick++ < 20){
        File file = new File("data/mkcert/" + serialNo + ".crt");
        if(file.exists() && file.length() > 0){
                break;
        }
        Thread.sleep(100);
    }
相关文章
|
7月前
|
自然语言处理 算法 C++
在C++语言中非修正算法
在C++语言中非修正算法
53 1
|
7月前
|
存储 安全 编译器
C++学习过程中的一些值得注意的小点(1)
C++学习过程中的一些值得注意的小点(1)
|
3月前
|
Java
巧用枚举消除条件判断
`shigen`是一位致力于撰写博客文章的作者,记录个人成长历程,分享真知灼见,并捕捉生活中的感动瞬间。在其最新文章中,通过枚举的方式展示了如何优雅地消除if-else判断,提供了一种更为简洁清晰的代码实现方案。利用自定义的`QuestionHandlerEnum`枚举类,实现了不同情况下的逻辑处理,展示了此方法在提升代码可读性和内聚性上的优势。与`shigen`一同探索编程之美,让每一天都有所进步。个人IP:shigen。
16 0
巧用枚举消除条件判断
|
7月前
|
算法 Go 区块链
YOLOD也来啦 | 优化YOLOv5样本匹配,顺带设计了全新的模块
YOLOD也来啦 | 优化YOLOv5样本匹配,顺带设计了全新的模块
88 0
|
7月前
函数依赖,闭包,覆盖,最小化基本集,部分函数依赖与完全函数依赖,传递函数依赖,候选键,外来建,逻辑蕴含
函数依赖,闭包,覆盖,最小化基本集,部分函数依赖与完全函数依赖,传递函数依赖,候选键,外来建,逻辑蕴含
83 0
|
编译器 测试技术 Go
不同写法的性能差异
不同写法的性能差异
74 0
|
JSON C语言 数据格式
【C/C++】防止不必要的局部宏替换
如何避免和防止宏定义在不必要的位置进行替换
244 0
|
编译器 测试技术 Go
不同写法的性能差异(1)
不同写法的性能差异(1)
68 0
|
测试技术 Go
不同写法的性能差异(2)
不同写法的性能差异(2)
75 0
|
测试技术
参数与非参数检验:理解差异并正确使用
数据科学是一个快速发展的领域,它在很大程度上依赖于统计技术来分析和理解复杂的数据集。这个过程的一个关键部分是假设检验,它有助于确定从样本中获得的结果是否可以推广到总体。
351 0