python学习
文章平均质量分 55
二的十六次方
人,要么平庸,要么孤独,可我两者都有
展开
-
python多线程编程和学习
首先我们应该应该明白进程和线程的概念 进程就是程序的一次执行过程,线程是处理器最小的执行单位,一个进程可以有很多线程,一个线程只能属于一个进程。 一个进程内的各个线程共享一块数据空间,当线程需要并发时,这就涉及到线程的执行顺序问题。因为线程的执行顺序不同可能会导致结果不同。如果多个线程共同访问一片数据,由于数据访问顺序不一样,导致结果不同(临界区)下面会有例子说明 下面介绍python的全局原创 2018-02-04 17:34:41 · 185 阅读 · 0 评论 -
python网络编程(SocketServer、socket)
SocketServer简化了网络服务器的编写。 它有4个类:TCPServer,UDPServer,UnixStreamServer,UnixDatagramServer。 这4个类是同步进行处理的,另外通过ForkingMixIn和ThreadingMixIn类来支持异步。 创建服务器的步骤。 首先,你必须创建一个请求处理类,它是BaseRequestHandler的子类并重载其han...原创 2018-02-09 22:10:11 · 543 阅读 · 0 评论 -
protobuf使用和教程
引用: What are protocol buffers? Protocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. Y...原创 2018-02-09 22:39:05 · 2100 阅读 · 0 评论 -
python 多线程编程和学习(threading 例子)
看完理论知识要多动手打打代码,会发现很多问题,例如我代码中注释写道,你用setDaemon,然后没有join,然后就没有然后了,什么都没有import threadingimport time# number 为看电影的时间def see_movie(number): time.sleep(number) print("我看了一部电影"," time at ",time原创 2018-02-06 15:12:21 · 281 阅读 · 0 评论 -
python多线程编程和学习(Queue模块)
学习多线程可能我们会遇到生产者和消费者的问题,操作系统的经典问题在python怎么实现,代码如下(有疑问可以看注释)后面简单介绍一下这个Queue的用法 线程安全问题? 这个模块是线程安全的,不存在同时操作一个数据的问题 Queue 模块提供一个适用于多线程编程的先进先出(first-in,first-out,FIFO)数据结构,可以用来在生产者消费者线程之间安全地传递消息或其他数据。它会为原创 2018-02-06 18:30:45 · 653 阅读 · 0 评论 -
python读写配置文件(ConfigParser)
因为我接下来要学网络编程和数据库操作,IP地址和端口会跟着自己部署的主机变化而变化,总不能一变化就去修改代码吧,所以想到了配置文件,将程序的一些配置保存为文件,用到的时候再去读取和修改。 如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要的配置配置文件常用的有:.i原创 2018-02-07 15:00:01 · 752 阅读 · 0 评论 -
python多线程编程与学习(锁Lock)
你需要对多线程程序中的临界区加锁以避免竞争条件。例如只有一台打印机,但却有两个以上的输入程序,这个时候打印机就是竞争资源。 如何解决,给打印机上锁,使用打印机时上锁,使用完解锁。 在python中使用 threading 库中的 Lock 对象 用with语句,更加方便,自动获取锁,自动释放,这样可以避免忘记释放 下面看例子:import threadingimport timei...原创 2018-02-08 18:07:07 · 275 阅读 · 0 评论