V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  NoAnyLove  ›  全部回复第 25 页 / 共 25 页
回复总数  492
1 ... 16  17  18  19  20  21  22  23  24  25  
2017-02-08 03:43:25 +08:00
回复了 2225377fjs 创建的主题 Python 关于 Python 并行多线程
没有看出有啥问题啊, threading 或者 multiprocessing 都能实现。有点不太理解楼主对并行线程的的定义是啥。。。。。虽然有 gil ,但是在 IO 和逻辑分别用不同线程处理的时候也没啥问题啊。

而且其实做成单线程也不会有大问题, Linux 下可以用 select ,或者 asyncio 来做都行。 Windows 下要麻烦一点, select 只支持 socket ,异步的 IO 可能需要自己用 Win32 API 封装吧,不过 asyncio 有说自己是用的 IOCP ,理论上可以处理异步 IO ,只是 asyncio 文档好复杂,反正我还么学懂

此外, gevent 之类的库也是支持的
2017-02-07 04:09:32 +08:00
回复了 julyclyde 创建的主题 Python 求推荐 3 版本的书
Fluent Python +1
2017-02-06 05:04:00 +08:00
回复了 datou 创建的主题 Android 5X 更新到 7.1.2 之后不支持电信网络了
没听说过 OTA 还要拔卡的啊
2017-02-03 15:16:30 +08:00
回复了 sugod 创建的主题 DNS “绿色 DNS”会不会把社交网站和购物网站解析到钓鱼网站
@DoraJDJ https 访问会验证加密证书, DNS 下毒定向到的那个假网站也能通过证书验证吗?
2017-02-03 15:15:08 +08:00
回复了 xuboying 创建的主题 Python 如何通过 IPC (socket)操作另一个进程里的对象
。。。。。。我希望能早几天看到这个帖子。。。。。。 Orz
2017-02-03 15:11:37 +08:00
回复了 sugod 创建的主题 DNS “绿色 DNS”会不会把社交网站和购物网站解析到钓鱼网站
如果全部用 https 访问是不是可以避免这种问题?
2017-01-31 06:22:34 +08:00
回复了 simple26 创建的主题 Vim 用 Vim 写 Python 的最佳实践
2017-01-31 06:19:53 +08:00
回复了 simple26 创建的主题 Vim 用 Vim 写 Python 的最佳实践
直接晒我的配置文件吧。主要是针对 Python 的配置,本来还要支持 C 的,不过没时间弄完。 youcompleteme 的参数提示功能一直没有合并进主 repo 中。。。。。

基本上就是:

- 用 vim-plug 管理插件
- 代码自动补完用 jedi-vim + ultisnips + youcompleteme 。 jedi-vim 好用比 ycm 的 jedi 后端好用,用 youcompleteme 可以把 jedi-vim 和 ultisnips 的候选一起显示。
- 语法检查什么的也交给 youcompleteme 了
- vim-autoformat 调用 yapf 进行代码格式化
- nerdcommenter 注释功能
- python-mode 一些细节化的支持。不过它自带的 rope 和语法检查什么的都关闭了
- ctrlp.vim 好打开文件
- etc.

最后: C 的重构确实是个大问题啊
2017-01-31 06:08:03 +08:00
回复了 phithon 创建的主题 程序员 帮我看看这两个风格你们喜欢哪一个
第二个看起来专业
2017-01-30 07:13:19 +08:00
回复了 dangyuluo 创建的主题 Python 请问 Python 多个子进程应当如何调用同一主进程的句柄
纠正一下, Lock 对象确实不能跨进程传输,不过 socket 对象是可以的。下面的代码中,`conn`变量可以直接传递给子进程:


```python
from multiprocessing import Process
import socket

def echo_server(conn):
while True:
data=conn.recv(1024)
conn.sendall(data)

if __name__=="__main__":
process_list=[]
s=socket.socket()
s.bind(('127.0.0.1', 5555))
s.listen(5)
while True:
conn, addr = s.accept()
print('Connection from {addr[0]}:{addr[1]}'.format(addr=addr))
p=Process(target=echo_server, args=(conn,))
process_list.append(p)
p.start()
```

此外,`multiprocessing.Lock`是基于`SemLock`对象构造的。而`SemLock`又是`sem_open`/`CreateSemaphore`的封装。至少 Linux 下是使用命名信号量的实现的(但 Windows 下没用名字,不过要复制句柄还是可以的),所以理论上是可以跨进程复制的。

如果不嫌麻烦的话(我的意思是这样做很麻烦),可以参考`multiprocessing.reduction`,自己实现`multiprocessing.Lock`对象的可 pickle 化,以及传输之后重新打开命名的信号量 /或者复制句柄。然后`Lock`对象也就可以跨进程传输了。

不过考虑一下开发成本已经稳定性,用 4 个连接真的没什么不好的。。。。。 Orz
2017-01-10 12:02:27 +08:00
回复了 granulite 创建的主题 Python 征个人教我学 Python
为什么感觉从标题看起就有一种浓浓的挑衅气味。。。。。就算是漂亮的妹纸也不会说“征人帮我干什么”这种句式。。。
1 ... 16  17  18  19  20  21  22  23  24  25  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3983 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 05:20 · PVG 13:20 · LAX 21:20 · JFK 00:20
♥ Do have faith in what you're doing.