小编Gui*_*imo的帖子

如何删除VS Code中的匹配括号?

我知道你可以用Ctrl+ Shift+ 在匹配的括号之间跳转\.我想将光标放在括号后面,并尽可能容易地删除该括号及其匹配的括号.

由于使用Alt+ Click你可以有多个选择,我正在寻找类似于:Ctrl+ Shift+ Alt+ \将另一个光标放在匹配的括号上,然后用一个退格键删除两者.

是否有删除一对匹配括号/括号的快捷方式?

visual-studio-code

13
推荐指数
2
解决办法
2382
查看次数

理解 ZMQ 的 HWM

我在理解 ZeroMQ 高水位线 (HWM) 队列的工作原理时遇到了一些麻烦。

我在下面附上了两个脚本,它们重现了以下内容。

  • 建立 PUSH/PULL 连接,将所有 HWM 队列设置为大小 1。
  • 让拉马者睡一会儿。
  • 从推送器发送 2200 条消息。
  • 当 puller 醒来时,接收 2200 条消息并打印它们。

我得到的结果是 puller 能够成功接收(打印)所有消息。此外,推送器似乎几乎立即完成执行。根据ZMQ 官方文档,我期望推送程序不会在 puller 唤醒之前完成执行,因为send(...)由于到达 HWM 而在第二次调用时被阻塞。我还尝试在每次send(...)通话之间添加 0.001 秒的睡眠,结果相同。

所以,我的问题是:

  • send(...)达到 HWM(大小 1)后,为什么 pusher 在第二次调用中没有阻塞?
  • pusher 和 puller 中存储的消息在哪里?
  • HWM 大小与存储的消息数量之间是否存在直接关系?

脚本:

推手.py

import zmq

context = zmq.Context()
push_socket = context.socket(zmq.PUSH)

push_socket.setsockopt(zmq.SNDHWM, 1)
push_socket.setsockopt(zmq.RCVHWM, 1)

push_socket.bind("tcp://127.0.0.1:5557")
print(push_socket.get_hwm()) # Prints 1
print('Sending all messages')

for i in range(2200):
    push_socket.send(str(i).encode('ascii'))

print('Finished execution...') …
Run Code Online (Sandbox Code Playgroud)

python zeromq pyzmq

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

标签 统计

python ×1

pyzmq ×1

visual-studio-code ×1

zeromq ×1