标签: wait

Lua - 从用户那里获取命令行输入?

在我的lua程序中,我想在继续操作之前停下来并要求用户确认.我不知道如何停止并等待用户输入,怎么办呢?

lua user-input blocking wait

16
推荐指数
3
解决办法
6万
查看次数

在backgroundworker运行时显示等待光标

在我的Windows应用程序启动期间,我必须调用Web服务来检索一些默认数据以加载到我的应用程序中.在加载表单期间,我运行后台工作程序来检索此数据.我想显示等待光标,直到检索到这些数据.我该怎么做?

我已经尝试在调用backgroundworker运行之前设置等待光标.当我报告100的进度时,我将其设置回默认光标.等待光标出现但是当我移动鼠标时它会消失.

环境:

  • Windows 7 Pro 64位
  • VS2010 C#.NET 4.0
  • Windows窗体

编辑:我按照Jay Riggs建议的方式设置光标.它只有在我不移动鼠标时才有效.

**更新:我创建了一个单击按钮,执行以下操作:当我按下按钮并单击并移动鼠标时,无论我是否移动鼠标,都会出现等待光标.

void BtnClick()
{
  Cursor = Cursors.WaitCursor;
  Thread.Sleep(8000);
  Cursor = Cursors.Default;
}
Run Code Online (Sandbox Code Playgroud)

如果我执行以下操作:我看到等待光标,当我移动鼠标时,它会消失在窗体内.如果我移动到状态栏或菜单栏,则会出现等待光标.

Cursor = Cursors.WaitCursor;
if (!backgroundWorker.IsBusy)
{
  backGroundWorker.RunWorkerAsync();
}

void backGroundWorkerDoWork(object sender, DoWorkEventArgs e)
{
  Thread.Sleep(8000);
}

void backGroundWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
  Cursor = Cursors.Default;
}
Run Code Online (Sandbox Code Playgroud)

如果我执行以下操作:等待光标出现,当我移动鼠标时它仍然出现,但有时在文本字段中移动时会闪烁关闭和打开.虽然光标变为等待光标,但它不会阻止您单击任何内容.

if (!backgroundWorker.IsBusy)
{
  backGroundWorker.RunWorkerAsync();
}

void backGroundWorkerDoWork(object sender, DoWorkEventArgs e)
{
  UseWaitCursor = true;
  Thread.Sleep(8000);
}

void backGroundWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
  UseWaitCursor = false;
}
Run Code Online (Sandbox Code Playgroud)

c# cursor backgroundworker wait

16
推荐指数
3
解决办法
6万
查看次数

Javascript睡眠/延迟/等待功能

对不起,如果此问题已在此处提出,我找不到合适的答案.

我想创建一个JavaScript睡眠/延迟/等待函数,我可以在脚本中的任何地方调用它,比如jQuery .delay()

我无法使用setTimeout,因为我有一个由php生成的脚本,因此无法将其放入两个不同的函数中,中间超时.我需要创建一个允许我这样做的功能

alert("time started");
sleep(4000);
alert("time up");
Run Code Online (Sandbox Code Playgroud)

真的不想使用jQuery.

javascript sleep function delay wait

16
推荐指数
3
解决办法
18万
查看次数

等到某个过程(知道"pid")结束

我有这个:

def get_process():
    pids = []
    process = None
    for i in os.listdir('/proc'):
        if i.isdigit():
            pids.append(i)

    for pid in pids:
        proc = open(os.path.join('/proc', pid, 'cmdline'), 'r').readline()
        if proc == "Something":
            process = pid

    return process          

def is_running(pid):
    return os.path.exists("/proc/%s" % str(pid))
Run Code Online (Sandbox Code Playgroud)

然后我这样做:

process = get_process()
if process == None:
    #do something
else:
    #Wait until the process end
    while is_running(process):
        pass
Run Code Online (Sandbox Code Playgroud)

我认为这不是等待进程终止的最佳方式,必须有一些函数等待或者什么,但我找不到它.

免责声明:该流程不是子流程

python linux pid process wait

15
推荐指数
1
解决办法
1万
查看次数

Java延迟/等待

如何将while循环延迟到1秒间隔,而不会将运行的整个代码/计算机减慢到一秒延迟(只有一个小循环).

java loops delay notify wait

15
推荐指数
3
解决办法
8万
查看次数

在OCaml睡不到一秒钟

Unix.sleep函数可以暂停程序整秒,但是如何暂停它不到一秒钟?

ocaml sleep delay wait thread-sleep

15
推荐指数
3
解决办法
4372
查看次数

等到setInterval()完成

我想在我的Javascript代码中添加一个小骰子滚动效果.我认为一个好方法是使用该setInterval()方法.我的想法是遵循代码(仅用于测试):

function roleDice() {
        var i = Math.floor((Math.random() * 25) + 5);   
        var j = i;
        var test = setInterval(function(){
            i--;
            document.getElementById("dice").src = "./images/dice/dice" + Math.floor((Math.random() * 6) + 1) + ".png";
            if(i < 1) {
                    clearInterval(test);
                }

            }, 50);     
    }
Run Code Online (Sandbox Code Playgroud)

现在我想等待setInterval,直到完成.所以我添加了一个setTimeout.

setTimeout(function(){alert("test")}, (j + 1) * 50);
Run Code Online (Sandbox Code Playgroud)

这段代码工作得很好.但在我的主代码中,该roleDice()函数返回一个值.现在我不知道我怎么能处理那个...我无法从那里回来setTimeout().如果我在函数末尾添加一个返回值,则返回将提升为快速.有没有人有想法,我怎么能解决这个问题?

编辑 嗯,好吧,我明白回调剂量是什么,我想我知道它是如何工作的,但我仍然有问题.我认为这更像是一个"界面"问题......我的代码:

function startAnimation(playername, callback) {
    var i = Math.floor((Math.random() * 25) + 5);
    var int = setInterval(function() {
        i--;
        var number = Math.floor((Math.random() * …
Run Code Online (Sandbox Code Playgroud)

javascript settimeout wait setinterval

15
推荐指数
2
解决办法
4万
查看次数

是否在线程结束时发出通知?为什么这个代码示例有效?

我正在寻找线程的一些难题,我无法弄清楚为什么以下一致打印999999:

class Job extends Thread {  
    private Integer number = 0;  
    public void run() {  
        for (int i = 1; i < 1000000; i++) {  
            number++;  
        }  
    }  
    public Integer getNumber() {  
        return number;  
    }  
}  
public class Test {  
    public static void main(String[] args)   
    throws InterruptedException {  
        Job thread = new Job();  
        thread.start(); 
        synchronized (thread) {  
            thread.wait();  
        }  
        System.out.println(thread.getNumber());  
    }  
}   
Run Code Online (Sandbox Code Playgroud)

notify在同一个锁上没有(并且虚假的唤醒似乎被忽略).
如果一个线程完成了一个通知获取信号或什么?
怎么main打印结果而不是"卡住"等待?

java concurrency multithreading notify wait

15
推荐指数
1
解决办法
769
查看次数

什么时候应该在子进程中使用`wait`而不是`communic`?

在等待文档(http://docs.python.org/2/library/subprocess.html#subprocess.Popen.wait)中,它说:

警告

当使用stdout = PIPE和/或stderr = PIPE并且子进程为管道生成足够的输出以阻止等待OS管道缓冲区接受更多数据时,这将会死锁.使用communic()来避免这种情况.

由此,我认为communicate可以取代所有使用wait()如果retcode是不需要.甚至当stdoutstdin没有管,我也可以代替wait()通过communicate().

是对的吗?谢谢!

python subprocess pipe wait communicate

15
推荐指数
1
解决办法
5537
查看次数

ElasticSearch更新不是立竿见影的,你如何等待ElasticSearch完成更新它的索引?

我正在尝试提高针对ElasticSearch进行测试的套件的性能.

测试需要很长时间,因为Elasticsearch在更新后不会立即更新它的索引.例如,以下代码运行时不会引发断言错误.

from elasticsearch import Elasticsearch
elasticsearch = Elasticsearch('es.test')

# Asumming that this is a clean and empty elasticsearch instance
elasticsearch.update(
     index='blog',
     doc_type=,'blog'
     id=1,
     body={
        ....
    }
)

results = elasticsearch.search()
assert not results
# results are not populated
Run Code Online (Sandbox Code Playgroud)

目前解决这个问题的解决方案是将time.sleep调用放入代码中,以便给ElasticSearch一些时间来更新它的索引.

from time import sleep
from elasticsearch import Elasticsearch
elasticsearch = Elasticsearch('es.test')

# Asumming that this is a clean and empty elasticsearch instance
elasticsearch.update(
     index='blog',
     doc_type=,'blog'
     id=1,
     body={
        ....
    }
)

# Don't want to use sleep functions
sleep(1) …
Run Code Online (Sandbox Code Playgroud)

python synchronization polling wait elasticsearch

15
推荐指数
3
解决办法
6149
查看次数