11 2017 档案

摘要:1 什么是数据库(DataBase,简称DB) 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的 过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用 数据库是长期存放在计算机内、有组织、可共享的数据即可。 数据库中的数据按一定的数据模型组织、描述和储存 阅读全文
posted @ 2017-11-30 21:26 恩是的 阅读(212) 评论(0) 推荐(0)
摘要:一 总结 并发的解决方案 1 多进程 2 多线程 总结两点: 什么叫并发:看起来同时运行, 如何实现并发:切换+保存状态 进程线程都是由操作系统调度的 并发的解决方案2: 协程:单线程下实现的并发,应用程序级别的切换,操作系统无法感知 找到一种解决方案:在多个任务直接切换+保存状态 对于单线程下,我 阅读全文
posted @ 2017-11-27 16:55 恩是的 阅读(199) 评论(0) 推荐(0)
摘要:把线程都创建好,等待执行。 current_thread().getName() 获取当前线程的线程名 定时器 from threading import Timer 阅读全文
posted @ 2017-11-25 21:53 恩是的 阅读(199) 评论(0) 推荐(0)
摘要:回调机制 import requests 需要 requests 模块的支持 需要回调函数的场景:进程池中任何一个任务一旦处理完了,就立即告知主进程:我好了额,你可以处理我的结果了。主进程则调用一个函数去处理该结果,该函数即回调函数 我们可以把耗时间(阻塞)的任务放到进程池中,然后指定回调函数(主进 阅读全文
posted @ 2017-11-25 20:32 恩是的 阅读(1869) 评论(0) 推荐(0)
摘要:事件 同进程的一样 线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其 他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就会变得非常棘手。为了解决这些问题,我们需要使用threading库中的Event对象。 对象包含一个可由线程设置的信号标志,它允许线程 阅读全文
posted @ 2017-11-24 14:22 恩是的 阅读(216) 评论(0) 推荐(0)
摘要:生产者消费者模型 1 from multiprocessing import Process,Queue,JoinableQueue 2 import time 3 import random 4 5 def producer(name,food,q): 6 for i in range(3): 7 阅读全文
posted @ 2017-11-24 14:20 恩是的 阅读(165) 评论(0) 推荐(0)
摘要:IPC 机制 (管道 和队列) 队列 使用的是内存空间 解决进程之间通讯的问题(解决了锁的问题) from multiprocessing import Process,Queue q=Queue(3) q.put_nowait() queue.Full q.get_nowait() queue.E 阅读全文
posted @ 2017-11-24 14:19 恩是的 阅读(164) 评论(0) 推荐(0)
摘要:守护进程 守护进程是守护主进程,主进程死掉了,守护进程也就结束了。 1:守护进程到底什么时候死?:2做完2:主进程到底什么时候算执行完毕:主进程运行完毕最后一行代码3:主进程什么时候应该死掉:等到所有的非守护的子进程都死掉,主才死4:主进程执行完毕了,是否意味着主进程会立马死掉? 否守护进程内不能再 阅读全文
posted @ 2017-11-24 14:18 恩是的 阅读(1340) 评论(0) 推荐(0)
摘要:基于用户名密码连接,远程执行命令import paramiko# 创建SSH对象 1 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 1 ssh.set_missing_host_key_policy(paramiko.AutoAddPolic 阅读全文
posted @ 2017-11-18 10:25 恩是的 阅读(201) 评论(0) 推荐(0)
摘要:提前说了:开启子进程和线程的时候 都会从父进程或者父线程拷贝原始数据到自己的进程或线程中. 作业9就遇见了问题, 设置了 一个空列表list_1运行函数对list_1列表进行了更新. 再开启子进程的时候发现取到的list_1,依旧是空的.就是因为子进程再开始的开启的时候,是复制的父进程的空数据. 解 阅读全文
posted @ 2017-11-18 10:16 恩是的 阅读(247) 评论(0) 推荐(0)
摘要:udp传输是不需要建立链接. udp 没有listen(5) udp没有accept udp 一个send 对应一个recvfrom udp不会粘包 在liunx上如果发送的udp大于接受的,就会丢弃多余的字节 在windows上会报错 服务端 客户端 udp不可靠,发送消息之后就会将内存中的信息删 阅读全文
posted @ 2017-11-16 14:39 恩是的 阅读(207) 评论(0) 推荐(0)
摘要:Python 提供了两个基本的 socket 模块。第一个是 Socket,它提供了标准的 BSD Sockets API。第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。下面先讲的是Socket模块功能1、Socket 类型套接字格式: socket(fami 阅读全文
posted @ 2017-11-12 11:08 恩是的 阅读(180) 评论(0) 推荐(0)
摘要:在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 格式化的时间字符串(Format String) 结构化的时间(struct 阅读全文
posted @ 2017-11-07 15:36 恩是的 阅读(178) 评论(0) 推荐(0)
摘要:1面向过程编程 固定的目的 固定的结果 从头到尾把要执行的步骤堆积出来就好了2面向对象编程 有一个抽象的过程 上帝视角:结果不能预测 第一步 认识类 类的定义class 类名: 静态属性 = '值' def 方法(self): pass 对象 对象可以有自己的对象属性,可以调用类的方法 对象 = 类 阅读全文
posted @ 2017-11-07 14:21 恩是的 阅读(252) 评论(0) 推荐(0)