标签: synchronous

如何进行阻止和同步活动?

好吧,请不要问我原因,但我需要启动同步和阻止活动,以便程序流程在完成之前不会继续.我知道如何进行同步对话,但我该如何进行同步活动?

以下是我尝试但失败的两种方法:

// In the 1st activity, start the 2nd activity in the usual way
startActivity(intent);
Looper.loop();        // but pause the program here
// Program continuse running afer Looper.loop() returns
....

// Then, in the second activity's onBackPressed method:
public void onBackPressed() {
    // I was hoping the following quit() will terminate the loop() call in
    // the first activity. But it caused an exception "Main thread not allowed
    // to quit." Understandable.
    new Hanlder().getLooper().quit();
}
Run Code Online (Sandbox Code Playgroud)

我还试图用另一个线程来实现这个目的:

// In the …
Run Code Online (Sandbox Code Playgroud)

android synchronous android-activity

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

将同步包装器放在异步方法上

我正在使用包含异步方法的api与PIN设备集成.例如,其中一个名为GetStatus,它会引发一个DeviceStateChangedEvent,并将状态作为参数传递给它.

我希望有一个非异步的接口,所以当我在我的界面上调用GetStatus时,它实际上会返回状态而不是引发一个事件来将数据传递给我.

我想我可以这样做:

public class MSRDevice
{
    StatusInfo _status;
    bool _stateChangedEventCompleted = false;
    IPAD _ipad; // <-- the device

    public MSRDevice()
    {
        //Initialize device, wire up events, etc.
    }

    public StatusInfo GetStatus()
    {
        _ipad.GetStatus() // <- raises StatusChangedEvent
        while(!_stateChangedEventCompleted);
        _stateChangedEventCompleted = false;
        return _status;
    }

    void StateChangedEvent(object sender, DeviceStateChangeEventArgs e) 
    {
         _status = e.StatusInfo;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是解决这个问题的好方法还是有更好的解决方案?

c# events asynchronous synchronous

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

同步使用Node.js下载N个远程文件

我正在使用Node.js处理一个简单的应用程序,在给定有效的URL时需要执行以下操作

  1. 检索远程页面的HTML,将其保存在本地.
  2. 蜘蛛HTML(使用cheerio)并记录所有JS和CSS文件引用.
  3. 为每个JS/CSS文件发出HTTP请求,并按文件名将其保存到服务器.
  4. 压缩html,css和js文件,并将生成的文件流式传输到浏览器.

我有1和2工作,而#3的前半部分,但我遇到了下载的同步性问题.我的代码运行得太快,并为CSS和JS文件生成文件名,但没有内容.我猜这是因为我的代码不是同步的.问题是我事先不知道可能有多少文件,并且在生成ZIP文件之前所有文件都必须存在.

这是我的应用程序当前存在的流程.我遗漏了辅助方法,因为它们不会影响同步性.你们中的任何人都可以提供我应该做什么的意见吗?

http.get(fullurl, function(res) {
    res.on('data', function (chunk) {
        var $source = $(''+chunk),
            js = getJS($source, domain),
            css = getCSS($source, domain),
            uniqueName = pw(),
            dir = [baseDir,'jsd-', uniqueName, '/'].join(''),
            jsdir = dir + 'js/',
            cssdir = dir + 'css/',
            html = rewritePaths($source);

        // create tmp directory
        fs.mkdirSync(dir);

        console.log('creating index.html');

        // save index file
        fs.writeFileSync(dir + 'index.html', html);

        // create js directory
        fs.mkdirSync(jsdir);

        // Save JS files
        js.forEach(function(jsfile){
            var filename = jsfile.split('/').reverse()[0];
            request(jsfile).pipe(fs.createWriteStream(jsdir + filename));
            console.log('creating …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous synchronous node.js express

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

如何在Node js中使'http requests'同步

我正在尝试执行3'http请求'.问题是,由于异步模式的性质,它不按顺序执行.所有请求都是内部api.这是示例代码: -

setInterval(function () {
  // First request
  request({}, function (error, response, body) {
   // Second request
   request({}, function (error, response, body) {
    // Third request
    request({}, function (error, response, body) {
    })
   })
  })
},1000);
Run Code Online (Sandbox Code Playgroud)

我想要实现的是基于一个条件获取数据(First request),更新数据(Second request)并发送短信和电子邮件(Third request).由于异步性质,代码重复多次.我正在使用setInterval,因此代码将始终每秒运行一次

javascript asynchronous synchronous node.js

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

快速等待,直到dataTaskWithRequest完成调用返回

我是Swift的新手,我对同步调用有疑问。我想对dataTaskWithRequest进行同步调用,以便一旦dataTaskWithRequest完成,就将调用return方法。这是我的代码:

private func sendRequest (request: NSURLRequest) -> NSData{
    let session = NSURLSession.sharedSession()
    var dataReceived: NSData = NSData ()
    let task = session.dataTaskWithRequest(request) { data, response, error in
        if error != nil{
            print("Error -> \(error)")
            return
        }
    dataReceived = data!
    }
    task.resume()
    return dataReceived
}
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?我尝试使用完成处理程序,但无法执行。

预先非常感谢您的帮助。

synchronous nsurlconnection nsurlsession swift

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

编程中的"原子"和"同步"同义词是什么?

"原子"和"同步"是指同一个东西还是有一些微小的差异?

看看这个问题的答案,我认为我的问题的答案是肯定的,他们是同义词.以下是否真的如此?

  • 同步操作将在下一个操作开始之前完成
  • 原子操作与同步操作相同
  • 异步操作将在下一个操作开始之前或之后的某个时刻完成

java asynchronous atomic synchronous

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

如何在NodeJS的sync-request中添加参数

我尝试过以下方法:

var request = require('sync-request');

var res = request('POST', 'http://someurl.com', {

  body: {

    'city': 'Dubai'

  }

});
Run Code Online (Sandbox Code Playgroud)

但是没有在服务器上获得任何参数.

ajax post synchronous node.js

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

GJS 同步 GET http 请求

我已经尝试并搜索过,但我还没有找到任何关于如何发出同步 GET 请求以获取 JSON 的示例或解释。我发现的唯一一件事是使用 SOUP 的异步请求的一个简单代码,它实际上有效,但它是异步的,所以对我来说没有用:/我认为 SOUP 可用于发出同步请求,但 gjs 文档的工作方式没有不能帮我找出方法。所以我想,肯定有人必须知道如何做到这一点,他/她只是没有在任何地方张贴。所以我问。请问,我该怎么做?

synchronous httprequest gjs

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

并行调用一系列 Promise,但按顺序解析它们,无需等待其他 Promise 解析

我有一系列我想并行调用但同步解决的承诺。

我编写了这段代码来完成所需的任务,但是,我需要创建自己的对象QueryablePromise来包装Promise我可以同步检查以查看其已解决状态的本机对象。

有没有更好的方法来完成这个不需要特殊对象的任务?

请注意。我不想使用,Promise.all因为我不想在处理承诺的影响之前等待所有承诺解决。我不能async在我的代码库中使用函数。

const PROMISE = Symbol('PROMISE')
const tap = fn => x => (fn(x), x)

class QueryablePromise {
  resolved = false
  rejected = false
  fulfilled = false
  constructor(fn) {
    this[PROMISE] = new Promise(fn)
      .then(tap(() => {
        this.fulfilled = true
        this.resolved = true
      }))
      .catch(x => {
        this.fulfilled = true
        this.rejected = true
        throw x
      })
  }
  then(fn) {
    this[PROMISE].then(fn)
    return this
  }
  catch(fn) {
    this[PROMISE].catch(fn)
    return this
  }
  static resolve(x) …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous synchronous promise

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

等待和使用丢弃之间的区别

下面两行有什么区别。

await SkillReporterDatabase.Database.SaveAsync(someObject);

_ = SkillReporterDatabase.Database.SaveAsync(someObject);
Run Code Online (Sandbox Code Playgroud)

哪一个是首选?有时当我遇到等待的问题时,我使用 _ = 并解决了问题。我在网上看不到任何资源来解释这两者之间的区别。

c# asynchronous synchronous async-await

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