摘要: 当多个线程,操作一个内容的时候,由于使用的是Runnable或Thread,就需要定义全局公用的数据对象。 如果多个线程同时操作一个数据结果,容易产生:并发性异常。 并发性异常: 数据超出了正常的范围。 解决这个问题,就需要 锁:synchronized 模拟一个售票系统,同时开启多个线程并加锁 p 阅读全文
posted @ 2020-12-14 16:29 Mr.chris 阅读(176) 评论(0) 推荐(0) 编辑
摘要: Runnable实现多线程,与Thread多线程的区别在于,Thread是继承Thread父类,而Runnable是接口,需要实现Runnable接口,但是两者都是需要重写run()方法,在执行任务之后,都无法获取执行结果的。 Runnable接口实现多线程 1 //主程序,里面开启运行多个线程 2 阅读全文
posted @ 2020-12-11 09:27 Mr.chris 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 多线程(MultiThreading): 通过代码,在一个主进程中,创建更多的线程。 这些线程同时运行,多线程程序。 一个主进程运行的时候,产生了不止一个线程操作。 并行: 多个CPU实例或者多台电脑同时执行一段逻辑处理,【同时】。 并发: 通过CPU调度算法,让用户开上去同时执行, 实际上从CPU 阅读全文
posted @ 2020-12-11 01:12 Mr.chris 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 【线程】: 应用程序(Application): 为了完成特定的任务,用某一种语言编写的一组指令集合(一组静态代码)。 进程(Process):【主进程】 运行中的程序,系统调度与资源分配的一个独立单位。 操作系统会为每一个进程分配一段内存空间。 一个进程可以包含一个或多个线程。 线程(Thread 阅读全文
posted @ 2020-12-11 01:06 Mr.chris 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 淘宝商品比价定向爬虫 功能描述: 1、目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格 2、理解:淘宝的搜索接口,翻页处理 技术路线:requests + re 程序的结构设计: 1、提交商品搜索的请求,循环获取页面。 2、对于每个页面,提取商品名称和价格信息。 3、将信息输出到屏幕上。 重要 阅读全文
posted @ 2018-12-06 17:31 Mr.chris 阅读(1780) 评论(0) 推荐(0) 编辑
摘要: 本次是股票定向爬取,从东方财富网上获取所有股票代码,然后在百度股票网上打开每个个股股票信息,提取所要保存的股票信息。采取的技术路线是re+bs4+requests。 阅读全文
posted @ 2018-12-06 16:25 Mr.chris 阅读(969) 评论(0) 推荐(0) 编辑
摘要: <1> aggregate(*args,**kwargs): 通过对QuerySet进行计算,返回一个聚合值的字典。aggregate()中每一个参数都指定一个包含在字典中的返回值。即在查询集上生成聚合。 <2> annotate(*args,**kwargs): 可以通过计算查询结果中每一个对象所 阅读全文
posted @ 2018-12-02 17:07 Mr.chris 阅读(4676) 评论(0) 推荐(0) 编辑
摘要: os模块,主要提供对操作系统进行调用的接口。 阅读全文
posted @ 2018-12-01 21:36 Mr.chris 阅读(284) 评论(0) 推荐(0) 编辑
摘要: socket是python提供的一种网络通信方式。 socket是应用层与TCP/IP协议通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指 阅读全文
posted @ 2018-12-01 20:47 Mr.chris 阅读(429) 评论(0) 推荐(0) 编辑
摘要: python为开发者提供了一个轻量级的数据存储方式shelve,对于一些轻量数据,使用shelve是个比较不错的方式。对于shelve,可以看成是一个字典,它将数据以文件的形式存在本地。下面介绍具体用法。 阅读全文
posted @ 2018-11-23 11:51 Mr.chris 阅读(1847) 评论(0) 推荐(0) 编辑