标签: blocking

QMessageBox阻止QDialog

这次我真的不知道如何提出我的问题......

我有一个QDialog作为主窗口的应用程序.应用程序从远程机器获得不同的值,如温度,湿度等.

为了开发,我添加了一个包含不同小部件的组框来模拟这些值.我向用户投掷警告和警报有不同的限制.

例如,如果温度上升超过30°C,那么我打开一个带有请求时间的QMessageBox(应用程序在远程机器上进行轮询)和当前温度.所以每个请求周期都会更新.

我使用show()方法调出消息框,使我的应用程序在后台运行.现在的问题是:焦点在消息框中,我的主窗口/ QDialog中没有任何内容可以被点击,直到消息框不被接受/已经完成.

这就是我的问题:在模拟模式下,我想要使用不同的温度值,我可以通过主窗口中的滑块来调整.如何访问这些小部件/使消息框以某种方式"不阻塞"?

最好的祝福,

马蒂亚斯

qt focus blocking qdialog qmessagebox

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

使用Gevent和WSGI阻止调用

我刚刚开始使用协同程序,并阅读了gevent和greenlets.对于测试,我通过gevents pywsgi模块提供了此代码:

from gevent.pywsgi import WSGIServer
import gevent

def hello_world(env, start_response):
    gevent.sleep(5)
    start_response('200 OK', [('Content-Type', 'text/html')])
    return ["<b>hello world</b>"]

print 'Serving on 8088...'
WSGIServer(('127.0.0.1', 8888), hello_world).serve_forever()
Run Code Online (Sandbox Code Playgroud)

我期望一个结果,每个请求在显示文本之前会有5秒的延迟.然而,发生的是每个请求都通过调用gevent.sleep()排队等候,如果第二个请求在第一个请求之后立即启动,则会使第二个请求花费大约10秒.

serve_forever函数不是为每个请求生成新的greenlets吗?

wsgi blocking coroutine gevent

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

BlockingQueue设计有多个显示器

我正在写一个BlockingQueue,我想知道其他实现如何解决这个问题:

如果我只有一个监视器(队列对象)并让生产者和消费者wait,我将不得不确保notifyAll而不是notify被调用,否则生产者可能只发信号通知另一个等待生成器,即使队列已满.即使有东西可供消费者等待.另一方面,notifyAll对许多线程和处理器而言,调用似乎不是可扩展的解决方案.

不要BlockingQueues使用两台显示器?一个是生产者等待,一个是消费者等待?然后我将以封装的方式同步队列和相关监视器.这是要走的路吗?

java synchronization monitor blocking java.util.concurrent

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

为什么Python的math.factorial不能与线程一起使用?

为什么math.factorial在一个线程中表现得如此奇怪?

这是一个例子,它创建了三个线程:

  • 只是睡了一会儿的线程
  • 一段时间增加int的线程
  • 在大数字上执行math.factorial的线程.

它调用start线程,然后join超时

睡眠和旋转线程按预期工作并立即返回start,然后坐在join超时.

另一方面,析取线程start直到它运行到最后才返回!

import sys
from threading import Thread
from time import sleep, time
from math import factorial

# Helper class that stores a start time to compare to
class timed_thread(Thread):
    def __init__(self, time_start):
        Thread.__init__(self)
        self.time_start = time_start

# Thread that just executes sleep()
class sleep_thread(timed_thread):
    def run(self):
        sleep(15)
        print "st DONE:\t%f" % (time() - time_start)

# Thread that increments a number for a while …
Run Code Online (Sandbox Code Playgroud)

python multithreading factorial blocking gil

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

SELECT从user2阻止user1(反之亦然)

我偶然发现我的用户遇到了用户阻止功能的问题.

我不知道怎么写我SELECT才能得到正确的结果.当User1阻止user2时,两个用户都看不到彼此的个人资料,但是当我登录时,我可以看到自己的帐户.我正在使用开关来执行此操作.

我的BLOCK表包括ID,USER1_ID,USER2_IDSTATUS.0被"看得见" 1并被"封锁".

Function.user

public function check_block($user1_id,$user2_id){ 
    $check_sql= "SELECT ......"; 
    $check_query = mysql_query($check_sql)or die(mysql_error()); 
    $check_num = mysql_num_rows($check_query); 
    if($check_num>0){ 
        $block = mysql_fetch_array($check_query); 
        return $block['status']; 
    }else{ 
        return $check_num; 
    } 
}
Run Code Online (Sandbox Code Playgroud)

开关

<? 
    $user1_id=$_SESSION['id'];
    $user2_id=$data['id'];
    $userblock = function_user_core::check_block($user1_id,$user2_id);
    switch($userblock){
        case 1:
            echo'You Are Blocked From Viewing This Users Profile';
            break;
    }
?> 
Run Code Online (Sandbox Code Playgroud)

字段在用户配置文件中被阻止

<? if($userblock==1) { ?> 
    THIS USER HAS BLOCKED YOU FROM THEIR ACCOUNT
<? } …
Run Code Online (Sandbox Code Playgroud)

php mysql sql profile blocking

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

在未来阻止仍然阻塞?

阻止坏,异步好,但在未来阻止仍然阻塞?这是我不断回归的事情; 考虑遵循伪代码:

def queryName(id:Id):Future[String]
def queryEveryonesNames:Future[Seq[String]] = {
  val everyonesIds:Future[Seq[Id]] = getIds
  val everyonesNames:Future[Seq[Future[String]]] = {
    everyonesIds.map(seq.map(id=>queryName(id)))
  }
  // I'm trying to understand the impact of what I'll do below
  everyonesNames.map(seq=>seq.map(fut=>blocking(fut, 1 s)))
}
queryEveryonesNames
Run Code Online (Sandbox Code Playgroud)

在最后一行我接通Future[Seq[Future[String]]](通知将来将来)进入Future[Seq[String]]阻塞内部未来.

阻碍未来的未来感觉多余,至少在这里,但在未来拥有未来也感到多余.

你能提出一种更聪明的方式摆脱内心的未来吗?

你认为阻碍未来的未来是坏事吗?如果是这样的原因和在什么情况下?

concurrency asynchronous scala future blocking

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

Android TextToSpeech初始化阻止/冻结UI线程

我写了以下代码:

public class MainActivity extends Activity {

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
   }

   private TextToSpeech mTTS;

   @Override
   protected void onPause() {
       super.onPause();
       if (mTTS != null) {
           mTTS.stop();
           mTTS.shutdown();
       }
   }

   @Override
   protected void onResume() {
       super.onResume();
       mTTS = new TextToSpeech(getApplicationContext(),
               new TextToSpeech.OnInitListener() {
                   @Override
                   public void onInit(int status) {
                       if(status != TextToSpeech.ERROR){
                           mTTS.setLanguage(Locale.ENGLISH);
                           mTTS.speak("Hello!", TextToSpeech.QUEUE_FLUSH, null);
                       }
                   }
               });       
   }

   public void onButtonClick(View view) {
       mTTS.speak("Hello!", TextToSpeech.QUEUE_FLUSH, null);
   }
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码:mTTS = new TextToSpeech(...冻结UI线程5-8秒.

我注意到延迟发生在logcat(第一行)的这一行:

07-13 …
Run Code Online (Sandbox Code Playgroud)

user-interface multithreading android blocking

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

Symfony 2阻止了并发

我有一个Symfony 2.5应用程序,我有一些奇怪的请求并发问题.

为了演示这个问题,我创建了两个名为/timeand的路由/sleep.控制器的主体非常简单:

timeAction():
    time();

sleepAction()
    sleep(30);
Run Code Online (Sandbox Code Playgroud)

当我/time在浏览器中请求路由时 - 它会立即响应当前时间戳.但是,当我第一次请求/sleep路线然后/time路线时 - 它只是挂在那里直到sleep()完成.只有在此之后,/time控制器才会响应时间戳.换句话说 - 一个请求阻止所有其他请求.我一开始并没有注意到这一点,但是当你有长期执行计划的请求时 - 它变得明显.

这可能是什么原因?

我还是要自己做一些额外的测试来深入挖掘这种情况.我将尝试更详细地更新问题.

php concurrency blocking symfony

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

在Play中,每个请求都会产生一个Akka演员吗?

我已经读过Play是建立在Akka上的,所以我想知道,对于每个传入的请求,是否会产生一个演员服务.

以此控制器操作为例:

def upload = Action(parse.multipartFormData) { implicit request =>
  request.body.file("picture").map { picture =>
    val client = new AmazonS3Client
    client.putObject("my-bucket", picture.filename, picture.ref.file)
  }.getOrElse {
    BadRequest("File missing")
  }
}
Run Code Online (Sandbox Code Playgroud)

上传是同步发生的,而且我经常看到一些例子试图在Future中包装这样的代码块.我认为如果这个请求是由Akka演员提供的,那么就不需要这样做了.

如果我对或错,请告诉我,以及您对使用阻止服务的建议.

scala blocking akka playframework playframework-2.0

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

浏览器中是否有用于滚动的特殊线程?

我正在为我的一个类编写一个JavaScript教程,我想说明一下调用堆栈可以阻止其他进程,并且在这种情况下,页面交互将排队,直到调用堆栈为空。

const print = function(){
	console.log( "Hello World" );
}
setTimeout(print,0);
for(let i=0 ; i < 2000000000 ; i++);
console.log();
Run Code Online (Sandbox Code Playgroud)

运行上面的代码后,我让他们单击链接并调整窗口大小,以查看该页面没有重新呈现,但是在Stack Overflow之类的许多网站上滚动似乎都可以正常工作。它在Reddit上被阻止。我已经在Chrome和Firefox上对此进行了测试,以仔细检查是否进行了一些优化,但是其表现类似。

我假设一个站点上没有与滚动相关的事件的事件处理程序,那么有一个用于基本滚动的特殊线程。这是因为我注意到带有粘性标头的站点将允许滚动,但直到循环结束后才具有粘性效果。

javascript blocking dom-events

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