摘要: [toc] 1.锁的概念 锁是数据库用来控制共享资源并发访问的机制。 锁用于保护正在被修改的数据。 直到提交或回滚了事务之后,其他用户才可以更新数据。 2.锁的类型 2.1 行级锁 行级锁是一种排他锁,防止其他事务修改此行。 在使用以下语句时,Oracle会自动应用行级锁: SELECT … FOR 阅读全文
posted @ 2020-04-04 22:37 OLIVER_QIN 阅读(219) 评论(0) 推荐(0) 编辑
摘要: [toc] 1.线程安全队列简介 在线程中,访问一些全局变量,经常需要加锁。如果想把数据存储到某个队列中,Python提供了一个内置模块 。Python中的queue提供了同步的、线程安全的队列类,包括FIFO(先进先出)队列Queue,LIFO(后入先出)队列LifoQueue,这些队列都实现了锁 阅读全文
posted @ 2020-04-04 21:18 OLIVER_QIN 阅读(637) 评论(0) 推荐(0) 编辑
摘要: [toc] 生产者消费者模型是多线程开发中经常见到的一种模式。生产者专门生产一些数据,把这些数据放到变量中,消费者从变量中取出一些数据来消费。由于要使用到中间变量,这些变量一般是全局变量,所以使用使用锁机制来保证数据的完整性。就好比老爸去工作赚钱存在银行,儿子从银行取钱来花,==老爸是生产者,银行就 阅读全文
posted @ 2020-04-04 16:40 OLIVER_QIN 阅读(537) 评论(0) 推荐(0) 编辑
摘要: [toc] 1.共享全局变量 1.1 共享全局变量问题 在一个进程内的所有线程共享全局变量,很方便在多个线程之间共享数据,但是存在一个缺点,当线程无序执行的时候,会导致全局变量的混乱,导致数据错误。 例如: 假设两个线程t1和t2都要对全局变量g_num(默认是0)进行加1运算,t1和t2都各对g_ 阅读全文
posted @ 2020-04-04 15:36 OLIVER_QIN 阅读(377) 评论(0) 推荐(0) 编辑
摘要: [toc] 1.开篇知识补充 查看线程数 threading.enumerate()函数可以查看当前线程数量。 查看当前线程的名字 使用threading.current_thread()可以查看当前线程的信息。 2.继承自threading.Thread类 为了让线程更好的封装,,可以使用thre 阅读全文
posted @ 2020-04-04 15:05 OLIVER_QIN 阅读(201) 评论(0) 推荐(0) 编辑
摘要: [toc] 1.什么是"多线程"? 多线程是为了同步完成多项任务,通过提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现的。举个最简单的例子说明:多线程就像火车的每一个车厢,而进程则是火车。 ==并发:==指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多 阅读全文
posted @ 2020-04-04 14:51 OLIVER_QIN 阅读(244) 评论(0) 推荐(0) 编辑
摘要: [toc] 1.什么是csv? 逗号分隔值(Comma Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。 2.csv文件的两种读取方式 2.1 reader读取 输出结果: 姓名:张三 年龄:15 姓名:李四 阅读全文
posted @ 2020-04-04 12:29 OLIVER_QIN 阅读(235) 评论(0) 推荐(0) 编辑
摘要: [toc] 1.什么是json? json(JavaScript Object Notation)是一种轻量级的数据交换格式。简单和清晰的层次结构使得json成为理想的数据交换语言。易于阅读和编写,同时也易于机器解析和生成,并有效的提升网络传输效率。 json支持的数据格式: 对象(字典)。使用花括 阅读全文
posted @ 2020-04-04 01:55 OLIVER_QIN 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 1.Oracle11g在windows上访问的两种方式 1.1 通过网络访问 通过tcp/ip协议访问数据库的话,需要启动2个服务: OracleServiceORCL OracleOraDb11g_home1TNSListener 访问命令为:sqlplus scott/tiger@orcl 1. 阅读全文
posted @ 2020-04-04 00:21 OLIVER_QIN 阅读(519) 评论(0) 推荐(0) 编辑