当前位置: 首页 > 面试题库 >

转到频道与Java BlockingQueue

施利
2023-03-14
问题内容

Go通道和Java BlockingQueue之间有什么区别吗?两者都是具有相似阻塞和内存模型语义的队列。两者都可以设置容量。


问题答案:

我要说的最大区别是Go通道支持该select语句,该语句使您可以执行一个通道操作。一个示例(从Go语言规范中更改):

select {
case i1 = <-c1:
    print("received ", i1, " from c1\n")
case c2 <- i2:
    print("sent ", i2, " to c2\n")
case i3, ok := (<-c3):  // same as: i3, ok := <-c3
    if ok {
        print("received ", i3, " from c3\n")
    } else {
        print("c3 is closed\n")
    }
}

在此示例中,将执行“从c1接收”,“发送到c2”或“从c3接收”操作之一。输入选择内容时,会随机选择一个就绪频道(如果有)。否则,操作将阻塞直到其中一个通道就绪。

我不知道使用Java实用程序为该通道选择建模的任何简单方法。有人可能会说这是select语句的属性,而不是通道的设计,但我会认为这是通道设计的基础。



 类似资料:
  • 所以我使用了来制造一个不和谐的。我正在使用查看成员的是否更改。 如果某个成员位于特定的,我希望客户端使用该成员的用户名作为频道名称创建一个新的语音频道,并将该成员移动到该新的语音频道内。这是我的密码: 这不工作。有人能帮帮我吗?

  • 有没有办法获得与特定youtube频道相关的频道列表。就像我们在youtube页面上一样?我知道有一个api可以获取与视频相关的视频,但我如何为频道做到这一点。以下网站似乎正在这样做: http://vidooly.com/channel/UCbTLwN10NoCU4WDzLf1JMOA#

  • HTTP接口文档 频道集成信息接口 GET /activity/api/integrated_info?actid=xxxx URL 参数 参数 描述 取值 是否必填 actid 频道HashID string 必填 返回 参数 描述 取值 errcode 错误码 int msg 错误信息 string name 频道名称 string description 频道描述 string visibl

  • 我无法将状态从父组件转发到子组件,这两个组件是类组件。将状态从父组件转发到子组件时,我希望在子组件中使用状态showModal变量作为状态变量show as: 这个变量被用来激活模态。当我将其用作this.props.show时,状态已被转发到子组件并进行更新,但当我在子组件中this.state中使用道具时,状态尚未更新。有人知道问题出在哪里吗? 第一父组件: 第二子组件:

  • 请求header GET /v1/sign/activity/{频道id}/list Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 请将"{频道id}"替换您需要获取的频道id 可选参数 p=页码 可选参数说明 参数 描述 类型 p

  • 我有一个YouTube频道。我想为我的网站添加新功能: 用户使用其google帐户进行身份验证。 用户创建自己的视频播客(使用此小部件),并将其上载到自己的youtube帐户。 之后,我使用YouTube API将用户视频移动到我的频道 有没有可能允许一些用户在我的频道上传他们账户的视频?也许用户可以通过Google Plus做到这一点? 附注:我看过一些文章