精华内容
下载资源
问答
  • shell你运行while true的时候,你在做什么? 在写shell死循环时,可能会经常用到下面的方式 while true do do something here done 其实,这里的true是一个/bin下面的可执行文件,同样的,false也是。 true什么...
    shell当你运行while true的时候,你在做什么?

    在写shell死循环时,可能会经常用到下面的方式

    while true
    do
        do something here
    done

    其实,这里的true是一个/bin下面的可执行文件,同样的,false也是。 true什么也不做,返回一个表示成功的值。false什么也不做,返回一个表示错误的值:
    qingsong@db2a:/tmp$ which true
    /bin/true
    qingsong@db2a:/tmp$ which false
    /bin/false
    qingsong@db2a:/tmp$ true
    qingsong@db2a:/tmp$ echo $?
    0
    qingsong@db2a:/tmp$ false
    qingsong@db2a:/tmp$ echo $?
    1

    详细一点说明如下:
    NAME
       true - do nothing, successfully
    SYNOPSIS
       true [ignored command line arguments]
       true OPTION
    DESCRIPTION
    Exit with a status code indicating success.
    =====
    NAME
       false - do nothing, unsuccessfully
    SYNOPSIS
       false [ignored command line arguments]
       false OPTION
    DESCRIPTION
       Exit with a status code indicating failure.

    所以,每执行一次while true,就会调用true命令,生成一个新的进程,完成之后,再销毁这个进程,由可能导致性能的损失。为了避免,可以使用shell内置命令“:”,它总是返回0退出码:
    qingsong@db2a:/tmp$ :
    qingsong@db2a:/tmp$ echo $?
    0
    展开全文
  • //用count这些不行吗? public class Test4 { public static void main(String[] args) { int count =1;... System.out.println("正在进行第" + count + "次练习");... }while(!isOk); } }
  • 使用wait的时候什么要使用while: 你或许有多个任务为同样的原因等待同样的锁, 并且第一个唤醒的任务或许已经改变了情况(甚至你不这么做,但是继承你的类可以这么做)。如果是这种情况,那么这个task就应该被暂停,...

    使用wait的时候,什么要使用while:

    • 你或许有多个任务为同样的原因等待同样的锁, 并且第一个唤醒的任务或许已经改变了情况(甚至你不这么做,但是继承你的类可以这么做)。如果是这种情况,那么这个task就应该被暂停,直到满足条件。

    • 当这个任务从它的等待状态中唤醒的时候,可能其他的任务已经改变了状态,以致于这个任务不能运行。只能继续等待。

    • 还有情况是你的object lock可能被多种原因在等待(在这种情况下,你就必须用notifyAll()).这种情况下,你需要检查是否唤醒的是否正确,如果不是对应的唤醒,那么就必须继续wait()

    此外:

    什么是object monitor?

    根据jdk 7的api来看:

    This method should only be called by a thread that is the owner of this object’s monitor. A thread becomes the owner of the object’s monitor in one of three ways:

    • By executing a synchronized instance method of that object.
    • By executing the body of a synchronized statement that synchronizes on the object.
    • For objects of type Class, by executing a synchronized static method of that class.

    Only one thread at a time can own an object’s monitor.

    notify方法只能被这个object的monitor拥有者调用。一个线程有三种方法成为这个object的monitor:

    • 执行同一个instance的synchronized方法。
    • 执行同一个instance的synchronized的block。
    • 执行同一个Class, 执行静态的synchronized方法。
    展开全文
  • 在c++编程中我们难免会遇到这种问题就是, 使用while(cin>>word)这种循环时,编译运行往往会出现循环不能终止的状况,所以我们有了不知道如何结束这种循环的疑惑。   在 Unix 系统中的实际的现象...

    在c++编程中我们难免会遇到这种问题就是,当 使用while(cin>>word)这种循环时,编译运行往往会出现循环不能终止的状况,所以我们有了不知道如何结束这种循环的疑惑。

     

    在 Unix 系统中的实际的现象为: 


    * 当输入为“字符串,回车,Ctrl+D”的时候,跳出循环;
    * 当输入为“字符串,Ctrl+D,回车”的时候,不会跳出循环;
    * 当输入为“字符串,Ctrl+D,回车,Ctrl+D”的时候,跳出循环;
    * 当输入为“字符串,Ctrl+D,Ctrl+D”的时候,跳出循环;

    --------------------- 本文来自 MISAYAONE 的CSDN 博客

     

     

    具体原因解释如下:
    输入(cin)缓冲是行缓冲。当从键盘上输入一串字符并按回车后,这些字符会首先被送到输入缓冲区中存储。每当按下回车键后,cin 就会检测输入缓冲区中是否有了可读的数据。

    cin 还会对键盘上是否有作为流结束标志的 Ctrl+Z 或者 Ctrl+D 键按下作出检查,其检查的方式有两种:阻塞式以及非阻塞式。 阻塞式检查方式指的是只有在回车键按下之后才对此前是否有 Ctrl+Z 组合键按下进行检查,非阻塞式样指的是按下 Ctrl+D 之后立即响应的方式。如果在按 Ctrl+D 之前已经从键盘输入了字符,则 Ctrl+D的作用就相当于回车,即把这些字符送到输入缓冲区供读取使用,此时Ctrl+D不再起流结束符的作用。如果按 Ctrl+D 之前没有任何键盘输入,则 Ctrl+D 就是流结束的信号。 

    阻塞式的方式有一个特点:只有按下回车之后才有可能检测在此之前是否有Ctrl+Z按下。还有一个特点,如果输入缓冲区中有可读的数据则不会检测 Ctrl+Z(因为有要读的数据,还不能认为到了流的末尾)。还有一点需要知道,Ctrl+Z产生的不是一个普通的ASCII码值,也就是说它产生的不是一个字符,所以不会跟其它从键盘上输入的字符一样能够存放在输入缓冲区。 

     

    window系统一般采取阻塞式检查所以如果出现上述情况则采用Ctrl+Z的方式来结束循环。

     

    具体什么意思我只能了解一个大概,不能深入了解,所等以后知识丰富了,再来更新此篇微博。

    谢谢!

     

    展开全文
  • 究竟什么时候应该用while,以及什么时候应该用when呢。下面列出while/when的英语用法、英语例句,跟中文意思,赶快学起来吧。1.while 两个句子都是正在进行式,要用while当前后两个句子,都是正在进行式的时候,通常...

    while的英语用法常常跟when被混淆,毕竟while跟when的中文意思都是指「当…的时候」。究竟什么时候应该用while,以及什么时候应该用when呢。

    下面列出while/when的英语用法、英语例句,跟中文意思,赶快学起来吧。

    61e92cf7efbdf87aeef10e74e04b6050.png

    1.while 两个句子都是正在进行式,要用while

    当前后两个句子,都是正在进行式的时候,通常要用while。

    例:I’m playing a video game while my husband is working.

    当我老公在工作的时候,我在打游戏。

    说明:这里有两个正在进行式,一个是”I’m playing a video game”,一个是“my husband is working”,所以用while。

    例:I was watching TV while my father was sleeping.

    当我爸在睡觉的时候,我在看电视。

    说明:这里同样是前后两个正在进行式,所以用while。

    2.when 两个单一行为(非正在进行式),用when。

     当前后两个都是单一行为的时候,通常用when。而且前后两个单一行为,通常是紧接着发生的。

    例:I picked up the phone when it rang.

    电话响起时,我接起来了。

    说明:前后是两个单一行为,而且接电话紧接着电话响起之后发生,这边用when。

    例:When I get home, I take off my shoes.

    当我回到家,我拖鞋。

    说明:前后两个都不是正在进行式,所以用when。

    3.while/when 一个正在进行式,一个单一行为(正在进行式前面可接while或when)

    假如前后两个句子,分别是一个正在进行式,一个单一行为时,则正在进行式前面可接while或是when。

    例:He called while/when I was sleeping.

    我在睡觉时他打来了。(这里用while或when都可以)

    例:I got into an accident while I was driving home.

    我开车回家时发生意外了。

    例:I got into an accident when I was driving home.

    我开车回家时发生意外了。

    4.when 一个正在进行式,一个单一行为(单一事件行为前面只接when)

     这里要特别注意,单一事件行为前面通常只能用when,而不是while。

    例:I was sleeping when he called. 他打来时我在睡觉。

     说明:这里不能用while,因为”he called”是单一行为,而不是正在进行式。

    例:I was driving home from work when I got into an accident.

    我发生车祸时,正在开车回家。(这里用when,而不是用while,因为单一事件行为前面接when)

    如果看到这里,你还是对什么时候用while,什么时候用when,搞不清楚。那么只要记得,如果前后两个句子都是正在进行式,那就用while,其馀状况就用when就可以了。

    展开全文
  • 1 问题:什么时候可以用 for each 进行循环? 不需要知道具体的循环变量,上下限。 答案 : for each xx in yyy ,只要 yyy 是 对象集合(s) 比如像workbook 这样的可数的对象的集合就可以 可以用for each 的...
  • 什么时候使用循环结构呢? 1:对某些代码执行很多次时,使用循环结构完成。 2:对一个条件进行一次判断时,可以使用if语句。 3:对一个条件进行多次判断时,可以使用while语句。 注意:1:在使用循环时,...
  • 我希望点击登陆按钮的时候,就会跳转到聊天界面。 package sql; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; class liaotian extends JFrame implements ...
  • do...while{0}有什么好处

    2017-09-05 09:44:14
    你执行一段代码到一半,想跳过剩下的一半的时候,如果你正处于do while循环中,则能用break达到这个目的。 do {  我执行.  我执行..  我再执行…  if (有什么条件满足了我)  {  呀,我想跳到另外一段代码了...
  • While循环

    2012-05-18 23:14:23
    package java基础知识;... while...的时候,也就是满足条件就循环执行制定的代码 * while循环的语法 while (循环条件){ * 循环操作(也叫循环体); * } * java中循环结构需要满足以下三
  • mysql里面的while运行机制是先执行再判断,监听语句判断tag=1的时候while里面的语句会继续执行,但是监听语句里面的tag=1会让fetch语句失效,进而接着执行1select uid语句,所以会输出两次最后一个 eg: ...
  • 目录:1.while2.do...while3.while和do...while什么区别?一、while1.while语法格式while(表达式) { //表达式为真则执行代码块 //代码块 }2....100) { //表达式,count的值小于100的时候,执行代码块 docu...
  • 点击蓝字关注我吧文 | 天罡君while和for都可以使程序重复执行某一段代码(又称作循环体),区别是for循环用于针对集合中的...1.while循环简介while在英语中的解释是:......时候。在Python中的语法是:while 表达式...
  • 这涉及到很多很多专业知识,比如文件系统等,简单来说就是,你保存文件的时候步骤基本上是:操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件按照簇尽可能...
  • 关于生产者模式,想必大家也...​ 生产的时候需要判断容器中是否已经满,为什么这个判断需要用while而不能用if呢,例如下面代码中第7行 public class MyContainer1<T> { final private LinkedList<T&g...
  • 游标什么时候消失

    2017-06-20 14:56:35
    一个存储过程结束后,游标会: 1.消失 2.继续存在,但无效 3.继续存在,还有小   cursor 。。。。 open 。。。 while。。。 。。。。 end loop 。。。 if。。。。 else if ...
  • while(i!=0){ System.out.println("请输入用户名和密码,以分号分隔:"); Scanner sn=new Scanner(System.in); String userPWD=sn.nextLine(); if(userPWD!=null||!"".equals(userPWD)){ String[]...
  • 1、编写清晰的程序每当你使用函数input()时,都应指定清晰而易于明白的提示,准确地指出你希望用户提供什么样的信息——指出用户该输入任何信息的提示都行。有时候,提示可能超过一行,例如,你可能需要指出获取特定...
  • JavaScript while循环

    2020-03-21 15:16:32
    发展到现在也是一样,我们需要计算机的时候,大多数让他干的是重复性的工作,这些重复性的工作有着极其相似的代码,比如,输出10次hello world’; while 循环 while 循环会在指定条件为真时循环执行代码块。 语法...
  • Java中没有加锁的方法,在当前线程sleep后,执行后面部分的代码,也就是重新执行这个方法,会新起一条线程吗?为什么一定要加return呢?
  • 有多个消费者的时候,还使用if判断是否await就会产生问题,这是因为一个生产者消费者模型的任务队列,一个消费者一次放入多个任务,然后用notifyAll通知消费者,但是并非所有被唤醒的消费者都能取到一个任务,那么...
  • 在多线程操作中,我们常常会遇到...以下示例展示了一个简单的生产者-消费者模型:队列满的时候,阻塞set;队列为空的时候,阻塞get操作。 public class EventStorage { private int maxSize; private L...
  • 最近学习了C++遇到的一个问题,Windows系统下不知道怎么结束~ C++Primer 中,作者经常使用 while(cin>>word) ...* 输入为“字符串,回车,Ctrl+D”的时候,跳出循环; * 输入为“字符串,Ctrl+D,回车”的时
  • While:当……则……当什么条件成立时,一直重复着 计算1-10的和 案例:GDP预测 2000年美国的GDP是142562.75亿美元,而中国是49089.82亿美元 假设美国的经济赠长率为2%,而中国是8%,预测中国什么时候能超过美国 &...
  • 随着人们生活品质的提高,越来越多的人提高了对健康的重视,也遵医嘱3-6个月检查一次身体,大多数人拿到肝功能化验单时,有些懵,总蛋白、白蛋白、球蛋白这些指标到底是干什么的?总蛋白、白蛋白、球蛋白这些指标...
  • for循环语句,双从for嵌套:/*for(初始化表达式;循环条件表达式;循环后的操作表达式){ 执行语句; } *//*1,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量... 总结: 什么时候使用循环结构? 要对某...
  • python流程控制之while

    2020-06-11 17:23:11
    while是没有次数限制,不知道什么时候结束 只要满足条件就会无限打印 'hello world' ''' 例子2 ''' while 循环下面的子分支执行完毕以后,程序会返回while条件判断语句 是一个加强版的if ''' while 4>3: ...
  • 循环语句:注意:循环一定要能确定循环从哪里开始,循环多少次,什么时候退出循环1.while循环a.语法格式:while(表达式){循环体语句;//反复做的事}规则:如果表达式为true,执行一次循环体语句,然后再次判断表达式...
  • While:当……则……当什么条件成立时,一直重复着 计算1-10的和 案例:GDP预测 2000年美国的GDP是142562.75亿美元,而中国是49089.82亿美元 假设美国的经济赠长率为2%,而中国是8%,预测中国什么时候能超过美国 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 507
精华内容 202
关键字:

while当什么时候