multithreading - 'asynchronous', 'non-blocking'和 'concurrent'相互暗示吗?

标签 multithreading asynchronous concurrency parallel-processing nonblocking

最佳答案

非阻塞操作基于两种方法:

  • 通过简单地不返回任何数据(当没有可用数据时-在这种情况下,调用者必须自己“返回”并再次“读取”)
  • 通过使用回调来实现
  • 。在这种情况下,“阻塞”表示您等待某个操作达到某个状态-而“非阻塞”表示您触发该操作-当达到该状态时,系统会通知您。

  • 请注意:这两个选项都可以进行操作,而不是表示客户端上存在并发或多个线程。您绝对可以使用单个进程(例如coroutinesnode.js)来实现这样的系统。

    从这个意义上说:非阻塞操作始终是异​​步-因为您不知道何时会为您带来结果-或何时会给您回电。可以使用并发来实现这两个概念,但是绝对需要这样做。

    关于multithreading - 'asynchronous', 'non-blocking'和 'concurrent'相互暗示吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45428408/

    相关文章:

    Java将系统输出重定向到jtextarea,直到计算完成才更新

    multithreading - 更改 Julia 的 Jupyter Notebooks 的 VS Code 的 settings.json 中的线程

    c# - 来自多个客户端的多个 ASP.NET 请求如何共享信息?

    Android异步任务与否

    java - 如果 poll 不一定返回第一项,ConcurrentLinkedQueue 是一个好的选择吗?

    c# - IHttpHandler : Speeding up performance with parallelism?

    ruby-on-rails-3 - Rails 异步 POST 请求

    jquery - 同步jquery $.ajax而不锁定IE?

    c# - 在 C# 中的线程之间传递数据的快速、内存高效的方法是什么?

    Java多线程程序