python实现一个基本的FTP服务器
即使用面向对象,用数据库实现了一个基本的FTP,但是还是感觉自己停留在写脚本的水平上。
这次最大的收获就是开始用编程的思维去写代码,之前写都没有条理性,想到哪写到哪,这样不仅效率低。而且程序之间的耦合也特别低。
现在如果要写一个稍微大点的程序都会考虑去写成这样,这样写了之后,以后拿来就可以用了,不用再大改。
threading
多线程主要是通过thread和threading这两个模块来实现的。thread是比较底层的模块,threading是对thread做了一些包装的,可以更加方便的被使用。python对线程的支持还不够完善,不能利用多 CPU。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# created by hansz
import threading
import time
# 多线程
def run(num,test_num):
lock.acquire()
print "线程...",num
lock.release()
test_num = test_num - 1
time.sleep(1)
test_num = 1
# 加个锁,用完才释放。
lock = threading.Lock()
for i in range(10000):
t = threading.Thread(target=run,args=(i,test_num))
t.start()
print test_num
# semaphore
# 多把锁
# python 下 同时运行的线程只有一个。
# 是操作系统原生线程