小编cdj*_*djc的帖子

为什么没有为队列实现len()?

内置函数len()(https://docs.python.org/3/library/functions.html#len)返回" 的对象的长度(项目数) ",但这不是用于实现queue.Queue(HTTPS: //docs.python.org/3/library/queue.html).相反,queue.Queue有一个qsize()方法,当它显然有一个长度时返回队列的近似大小; 您可以Queue在构造函数中指定a的最大长度.类似collections.deque的确合作len.

什么是不使用公共的原因len()queue.Queue?或者:如果qsize被命名__len__为启用该len()功能,会出现什么问题?

python queue multithreading language-design

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

如何(很好地)通过 .NET Core 中的 unix 域套接字发送 HTTP

在 .NET Core 中,我可以通过 unix 域套接字发送原始 HTTP,但我想使用库中的 HTTP 处理类,而不是组合我自己的 HTTP 处理。

这是我当前的工作但丑陋的代码:

const string HTTP_REQUEST = "POST /containers/foo/kill?signal=SIGHUP HTTP/1.0\r\n" +
    "Host: localhost\r\n" +
    "Accept: */*\r\n\r\n";
socket = new Socket(AddressFamily.Unix, SocketType.Stream, ProtocolType.IP);
socket.ReceiveTimeout = 2000; // 2 seconds
var endpoint = new UnixDomainSocketEndPoint("/var/run/docker.sock");
socket.Connect(endpoint);
byte[] requestBytes = Encoding.ASCII.GetBytes(HTTP_REQUEST);
socket.Send(requestBytes);
byte[] recvBytes = new byte[1024];
int numBytes = socket.Receive(recvBytes, 1024, SocketFlags.None);
socket.Disconnect(false);
Console.WriteLine( Encoding.ASCII.GetString(recvBytes));
Run Code Online (Sandbox Code Playgroud)

有没有办法使用 .NET Core 库中的类来处理 unix 域套接字上的 HTTP 请求和响应?

[编辑] 我知道在这个特定的用例中,有 Docker.DotNet 库可以实现我想要的,但总的来说,这个问题仍然值得问。

c# http unix-socket .net-core

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

C11中的睡眠功能

我想睡在C11程序中.usleep(在unistd.h中)和nanosleep(在time.h中)都没有声明-std=c11gcc(4.8.2)和clang(3.2).

A grep sleep /usr/include/*.h没有透露任何其他可能的睡眠候选人.

我需要一个至少毫秒精度的睡眠.

我怎么在C11睡觉?

c sleep c11

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

如何在同一个大型 git 存储库中使用 Jenkins 处理多个项目?

我们有一个相当大的 git 存储库(大约 8Gb),其中有许多不同的项目。我希望 Jenkins 能够构建每个项目,而无需每个项目都克隆每个项目的整个存储库。

我们最近从 SVN 切换到 git,我正在更新 Jenkins 以使用 git。使用 SVN,我可以简单地进行部分结帐以获得每个项目所需的内容。有人告诉我,我们不会将大型 git 存储库拆分为较小的存储库。

据我所知,有以下三种方法:

  1. 每个项目的 git 克隆。最简单,但占用大量空间。如果可能的话,我们希望避免这种情况。
  2. 一个“主”git 克隆,每个项目都从中进行本地克隆(git 可以使用硬链接节省空间 - 这是在 Linux 上)。这对于设置和让 Jenkins 识别需要构建的更改来说似乎相当复杂。
  3. 一种没有本地克隆,而是直接从远程获取每个项目所需文件的方法。但不确定这将如何运作。

有没有我错过的可行选择?哪个是最好的选择?

这类似于Jenkins:如何从 git 存储库构建多个顶级项目?但是,我认为,这个问题足够不同,值得提出。

git jenkins

5
推荐指数
0
解决办法
4579
查看次数

如果结构具有 ReadOnlySpan 字段,如何将 ref 结构参数传递给 MethodInfo

我有一个MethodInfo代表方法的对象,该方法采用 aref struct作为参数,并且该结构有一个ReadOnlySpan<byte>字段。如何通过对象调用该方法MethodInfo?我无法使用,MethodInfo.Invoke因为Invoke需要参数作为object?[]?数组,并且struct带有ReadOnlySpan<byte>字段的参数不能转换为object.

那么如何通过反射调用方法并向其传递一个 ref 结构值,其中该结构具有 type 字段ReadOnlySpan

c# reflection struct

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