标签: channel

如何从Anaconda中删除URL频道?

最近我需要使用Anaconda将PyPdf2安装到我的一个程序中.不幸的是,我失败了,但是添加到Anaconda环境的URL禁止更新所有Conda库.每当我尝试更新anaconda时,它都会提供以下信息

conda update conda
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata ..........Error: Invalid index file: https://pypi.python.org/pypi/PyPDF2/1.26.0/win-64/repodata.json: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud)

我键入命令conda info以查看导致错误的原因,我发现许多指向PyPdf2的URL!

简单地说,我想从anaconda的频道URL中删除所有这些URL,我该怎么办?无论是手动还是自动.

注意:我已经卸载了Anaconda,并重新安装,但没有运气!

C:\WINDOWS\system32>conda info
Using Anaconda Cloud api site https://api.anaconda.org
Current conda install:

             platform : win-64
        conda version : 4.1.6
    conda-env version : 2.5.1
  conda-build version : 1.21.3
       python version : 2.7.12.final.0
     requests version : 2.10.0
     root environment : C:\Anaconda2  (writable)
  default environment : C:\Anaconda2
     envs directories : C:\Anaconda2\envs
        package cache : …
Run Code Online (Sandbox Code Playgroud)

python channel anaconda pypdf2

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

Golang:匿名结构和空结构

http://play.golang.org/p/vhaKi5uVmm

package main

import "fmt"

var battle = make(chan string)

func warrior(name string, done chan struct{}) {
    select {
    case opponent := <-battle:
        fmt.Printf("%s beat %s\n", name, opponent)
    case battle <- name:
        // I lost :-(
    }
    done <- struct{}{}
}

func main() {
    done := make(chan struct{})
    langs := []string{"Go", "C", "C++", "Java", "Perl", "Python"}
    for _, l := range langs { go warrior(l, done) }
    for _ = range langs { <-done }
}
Run Code Online (Sandbox Code Playgroud)

[第1个问题]

 done <- struct{}{} …
Run Code Online (Sandbox Code Playgroud)

concurrency channel go goroutine

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

Slack:有没有办法禁用所有@channel通知

Slack聊天工具默认发送电子邮件通知,说"你被提到......"实际上它是@channel而不是你.我能找到关闭它的唯一方法是进入每个频道设置.

notifications channel slack

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

如何分配一个通道数组

如何创建一个频道数组

例如:用一个通道数组替换以下五行,大小为5:

var c0 chan int = make(chan int);
var c1 chan int = make(chan int);
var c2 chan int = make(chan int);
var c3 chan int = make(chan int);
var c4 chan int = make(chan int);
Run Code Online (Sandbox Code Playgroud)

arrays channel go

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

共享内存与Go通道通信

Go的口号之一是不要通过共享记忆来沟通; 相反,通过沟通分享记忆.

我想知道Go是否允许在同一台机器上运行的两个不同的Go-compiled二进制文件相互通信(即客户端 - 服务器),以及与C++中的boost :: interprocess相比有多快?到目前为止,我看到的所有例子都只说明了相同程序例程之间的通信.

一个简单的Go示例(具有单独的客户端和服务器代码)将非常感谢!

ipc channel shared-memory go goroutine

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

Go的频道是否返回两个值?

我在这个链接中看到了一些代码,并且感到困惑:http://www.darkcoding.net/software/go-lang-after-four-months/

第二个值的意义是什么(ok)?

for self.isRunning {

    select {
    case serverData, ok = <-fromServer:   // What's the meaning of the second value(ok)?
        if ok {
            self.onServer(serverData)
        } else {
            self.isRunning = false
        }

    case userInput, ok = <-fromUser:
        if ok {
            self.onUser(userInput)
        } else {
            self.isRunning = false
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

channel go

21
推荐指数
2
解决办法
2万
查看次数

扔:所有的goroutines都睡着了 - 僵局

给出以下简单的Go程序

package main

import (
    "fmt"
)

func total(ch chan int) {
    res := 0
    for iter := range ch {
        res += iter
    }
    ch <- res
}

func main() {
    ch := make(chan int)
    go total(ch)
    ch <- 1
    ch <- 2
    ch <- 3
    fmt.Println("Total is ", <-ch)
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人可以告诉我为什么我得到

throw: all goroutines are asleep - deadlock!
Run Code Online (Sandbox Code Playgroud)

谢谢

multithreading deadlock channel go

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

golang频道用于什么?

在查看一些golang代码时,我发现了以下内容:

  ch := make(chan int)
Run Code Online (Sandbox Code Playgroud)

我在golang Chanels的在线教程中查了解:

https://tour.golang.org/concurrency/2

但我觉得这个例子不清楚.

有人可以给我一个简单的解释和使用频道的例子吗?

channel go

21
推荐指数
2
解决办法
9427
查看次数

WCF频道和ChannelFactory缓存

所以我决定在我的WCF应用程序中提高性能,并尝试缓存Channels和ChannelFactory.关于所有这些我有两个问题需要在开始之前清理.

1)ChannelFactory应该实现为单例吗?

2)我不确定如何缓存/重用各个频道.你有任何关于如何分享的例子吗?

值得注意的是,我的WCF服务被部署为独立应用程序,只有一个端点.

编辑:

感谢您的回复.我还有几个问题......

1)我想我对缓存应该发生的位置感到困惑.我正在提供一个客户端API,它将此代码用于我们公司的另一个部门.这个缓存是否发生在客户端?

2)客户端API将用作Silverlight应用程序的一部分,这会改变什么吗?特别是,在这种情况下可以使用哪些缓存机制?

3)我还不清楚GetChannelFactory方法的设计.如果我只有一个服务,是否应该只创建和缓存一个ChannelFactory?

我还没有实现任何缓存功能(因为我对如何完成它完全感到困惑!),但这是我到目前为止客户端代理所拥有的:

namespace MyCompany.MyProject.Proxies
{
    static readonly ChannelFactory<IMyService> channelFactory =
        new ChannelFactory<IMyService>("IMyService");

    public Response DoSomething(Request request)
    {
        var channel = channelFactory.CreateChannel();

        try
        {
            Response response = channel.DoSomethingWithService(request);
            ((ICommunicationObject)channel).Close();
            return response;
        }
        catch(Exception exception)
        {
            ((ICommenicationObject)channel).Abort();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# wcf channel channelfactory

20
推荐指数
2
解决办法
2万
查看次数

如何使用频道广播消息

我是新手,我正在尝试创建一个简单的聊天服务器,客户端可以向所有连接的客户端广播消息.

在我的服务器中,我有一个goroutine(无限循环)接受连接,所有连接都由一个通道接收.

go func() {
    for {
        conn, _ := listener.Accept()
        ch <- conn
        }
}()
Run Code Online (Sandbox Code Playgroud)

然后,我为每个连接的客户端启动一个处理程序(goroutine).在处理程序内部,我尝试通过迭代通道来广播所有连接.

for c := range ch {
    conn.Write(msg)
}
Run Code Online (Sandbox Code Playgroud)

但是,我不能播放因为(我认为从阅读文档)通道需要在迭代之前关闭.我不确定何时应关闭频道,因为我想继续接受新的连接,关闭频道不会让我这样做.如果有人可以帮助我,或提供更好的方式向所有连接的客户广播消息,我们将不胜感激.

concurrency channel go goroutine

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