标签: blocking

sweetalert 像普通提示一样被阻止

我正在使用 swal ( http://t4t5.github.io/sweetalert ) 在用户点击某些内容时从用户那里获取一些数据。然后我想从我调用 swal 的函数返回该值。换句话说,对于下面的示例,我想将项目的文本设置为labels输入值。问题是它似乎在 swal 关闭/数据输入之前返回:

.on('dblclick', function(l) {
  labels.text(function (e) {  
     return swal({   
      title: "Edit label"
    },
      function(inputValue){  
      if(inputValue) {
        return inputValue
      }
    });
   })
});
Run Code Online (Sandbox Code Playgroud)

正常情况prompt alert是阻塞的,所以可以这样做,可以swal这样做吗?

谢谢

javascript svg blocking sweetalert

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

Quarkus Websocket 中阻塞 IO 线程

我有一个接收数据的 websocket,我想用这些数据进行一些数据库操作。这是我的代码的简化版本:

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Event;
import javax.inject.Inject;
import javax.websocket.OnMessage;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/my_socket")
@ApplicationScoped
public class MySocket {

  @Inject
  Event<MySocketMessage> messageEvent;

  @OnMessage
  public void onMessage(String message) {
    messageEvent.fire(new MySocketMessage(message));
  }
}
Run Code Online (Sandbox Code Playgroud)
public class MySocketMessage {

  private final String message;

  public MySocketMessage(String message) {
    this.message = message;
  }

  public String getMessage() {
    return this.message;
  }
}
Run Code Online (Sandbox Code Playgroud)
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.inject.Inject;
import javax.persistence.EntityManager;

@ApplicationScoped
public class MyDatabaseHandler {

  @Inject
  EntityManager entityManager;

  public void handleMessage(@Observes MySocketMessage message) {
    // Do some …
Run Code Online (Sandbox Code Playgroud)

java hibernate blocking websocket quarkus

3
推荐指数
1
解决办法
1156
查看次数

在C#中阻止函数调用

如何在C#中阻止函数调用?

这个函数被不同的类重复调用.我想锁定它,这样在我执行当前操作之前没有其他人可以使用它.然后,我想再次发布它.

请帮忙..

谢谢

编辑:我实际上并没有使用线程......但我使用的是重复调用该函数的计时器,它也在不同的类中调用.

c# locking function blocking

2
推荐指数
1
解决办法
5732
查看次数

处于阻塞模式的管道上的select()返回EAGAIN

select()手册页没有列出EAGAIN作为select()函数的可能错误代码。

谁能解释在哪种情况下select()会产生EAGAIN错误?

如果我了解select_tut手册页,则可以通过向被阻塞的进程发送信号,等待阻塞的select()来产生EAGAIN。它是否正确?

由于我在具有超时的阻止模式下使用select(),如下所示:

bool selectRepeat = true;
int res = 0;
timeval  selectTimeout( timeout );
while ( true == selectRepeat )
{
  res = ::select( fd.Get() + 1,
                  NULL,
                  &writeFdSet,
                  NULL,
                  &selectTimeout );
  selectRepeat = ( ( -1 == res ) && ( EINTR == errno ) );
}
Run Code Online (Sandbox Code Playgroud)

错误号为EAGAIN时,我应该重复循环吗?

c c++ linux select blocking

2
推荐指数
1
解决办法
2967
查看次数

Java的TCP Socket类在发送数据时是否阻塞

当我使用Javaa的Socket类发送一个字节数组时,在以下代码块中进行写调用,直到它验证了收件人已收到数据为止?

byte data[] = ...;
Socket socket = ...;

socket.getOutputStream().write(data); // blocking ?
Run Code Online (Sandbox Code Playgroud)

我问的原因是,如果我有一个我想要发送相同数据的套接字列表,我想尽可能有效地发送它,即有没有比这更好的方法:

ArrayList<Socket> sockets = ...;
byte data[] = ...;

for(int i = 0; i < sockets.size(); i++)
  sockets.getOutputStream().write(data);
Run Code Online (Sandbox Code Playgroud)

java sockets tcp blocking

2
推荐指数
1
解决办法
2405
查看次数

如何制作setVisible块的非模态对话框?

在Swing(J)对话框中,setModal设置模态 - 即对话框是否应阻止对其他窗口的输入.然后,setVisible docs说模态对话框:

如果对话框尚未显示,则在通过调用setVisible(false)或dispose隐藏对话框之前,此调用将不会返回.

实际上,如果对话框不是模态的,setVisible 它会立即返回.示例代码:

JDialog jd = new JDialog();
jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

/**
 * If set to false, setVisible returns right away.
 * If set to true, setVisible blocks until dialog is disposed.
 */
jd.setModal(false);

System.out.println("setting visible");
jd.setVisible(true);
System.out.println("set visible returned");
Run Code Online (Sandbox Code Playgroud)

我想创建一个阻止输入到其他窗口的对话框,但仍然阻止调用者.有什么好方法可以做到这一点,现在setVisible当对话框不是模态时不阻止?

有一些理由说明为什么 setVisible行为取决于形态?

java swing visibility dialog blocking

2
推荐指数
1
解决办法
9935
查看次数

保护关键代码不被再次调用

我需要保护我的代码的关键区域,这是一个多线程.我希望防止在其他线程完成之前多次调用它.这就是我正在使用的:

- (void) filterAllEventsIntoDictionary{

    // start critical area
    if (self.sortedKeys.count != 0) {
        [self.sortedKeys removeAllObjects];
    }
    dispatch_async(self.filterMainQueue, ^{

        [self internal_filterAllEventsIntoDictionary]; 

        dispatch_sync(dispatch_get_main_queue(), ^{
            [self.tableView reloadData];
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

由于该internal_filterAllEventsIntoDictionary方法也可以访问self.sortedKeys,如果此代码被调用两次,它会因为removeAllObjects在开始时崩溃.

我仍然需要internal...在另一个线程中调用该方法,因为我不想阻止UI.那么,在dispatch_async呼叫仍未完成的情况下阻止此方法启动的最佳方法是什么?

cocoa locking objective-c blocking grand-central-dispatch

2
推荐指数
1
解决办法
291
查看次数

如何使用wxpython线程来防止阻塞主循环

我正在开展一个学校项目,在python平台上开发一个定制的媒体播放器.问题是当我使用time.sleep(duration)时,它会阻止我的GUI的主循环,阻止它更新.我咨询了我的主管,并被告知要使用多线程,但我不知道如何使用线程.有人会建议我如何在下面的场景中实现线程吗?


码:

def load_playlist(self, event):
    playlist = ["D:\Videos\test1.mp4", "D:\Videos\test2.avi"]
    for path in playlist:
        #calculate each media file duration
        ffmpeg_command = ['C:\\MPlayer-rtm-svn-31170\\ffmpeg.exe', '-i' , path]

        pipe = subprocess.Popen(ffmpeg_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
        results = pipe.communicate()

        #Regular expression to get the duration
        length_regexp = 'Duration: (\d{2}):(\d{2}):(\d{2})\.\d+,'
        re_length = re.compile(length_regexp)

        # find the matches using the regexp that to compare with the buffer/string
        matches = re_length.search(str(results))
        #print matches

        hour = matches.group(1)
        minute = matches.group(2)
        second = matches.group(3)

        #Converting to second
        hour_to_second = int(hour) * …
Run Code Online (Sandbox Code Playgroud)

media multithreading wxpython blocking media-player

2
推荐指数
1
解决办法
6127
查看次数

如何在Node JS中编写非阻塞if语句?

我在php中有一个if语句:

if ( $isTrue && db_record_exists($id)) { ... } 
else { ... };
Run Code Online (Sandbox Code Playgroud)

第一个条件是真/假布尔检查.

第二个条件调用一个函数来查看数据库表中是否存在行并返回true或false.

我想在Node JS中重写这个条件,以便它是非阻塞的.

我已经重写了db_record_exists,如下所示......

function db_record_exists(id, callback) {
  db.do( "SELECT 1", function(result) { 
    if (result) { callback(true); }
    else { callback(false); }
  );
}
Run Code Online (Sandbox Code Playgroud)

...但我无法看到如何将其合并到一个更大的if语句中,并使用布尔检查.例如,以下语句没有意义:

if (isTrue and db_record_exists(id, callback)) {
...
}
Run Code Online (Sandbox Code Playgroud)

写"节点"的方式是什么?

任何建议将不胜感激.

在此先感谢您的帮助.

javascript nonblocking blocking node.js

2
推荐指数
1
解决办法
4266
查看次数

创建write()阻塞的场景

我有这个简单的C程序:

#include <stdio.h>

int main (int argc, char *argv[])
{
  printf ("Hello, world\n");

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我strace编译的程序printf()变为write():

$ strace ./hw > x
execve("./hw", ["./hw"], [/* 19 vars */]) = 0
...
write(1, "Hello, world\n", 13)          = 13
...
Run Code Online (Sandbox Code Playgroud)

我的问题如下:我希望操作系统在执行write()调用后阻止程序执行.作为一个简单的非root用户,是否有可能创建这样的场景?请注意,我无法更改程序代码.

我的直觉告诉我应该,但我无法找到解决方案.想象一下write()会写入一个文件描述符,该文件描述符是一个无缓冲的字符设备.这样的设备,不会强制write()阻塞吗?

c linux blocking

2
推荐指数
1
解决办法
51
查看次数