MongoDB开发最佳实践 连接到MongoDB · 关于驱动程序:总是选择与所用之MongoDB相兼容的驱动程序。这可以很容易地从驱动兼容对照表中查到; · 如果使用第三方框架(如Spring Data),则还需要考虑框架版本与驱动的兼容性; · 关于连接对象MongoClient:使用Mongo ...
分类:
数据库 时间:
2020-02-28 22:19:20
阅读次数:
80
wait():将线程进入阻塞状态,需要等待唤醒,此时释放cpu资源 notify():程序一旦执行到此方法,就会唤醒一个被wait的线程 notifyAll():程序一旦执行到此方法,就会唤醒被wait的线程 注意:这三个方法只能用在同步方法或同步代码块中 这三个方法的调用者必须是同步监视器,否则会 ...
分类:
编程语言 时间:
2020-02-28 19:08:24
阅读次数:
67
文本转换为语音 使用pyttsx、SAPI两种方式可以将文本转化成语音。但是都是通过参数输入文本内容。使用SpeechLib可以从文本文件中获取输入,再将其转化为语言。 使用 pyttsx 实现文本转换语音 import pyttsx3 as pyttsx engine=pyttsx.init() ...
分类:
其他好文 时间:
2020-02-28 13:40:09
阅读次数:
87
Java中IO主要分为字符流和字节流,字符流处理的单元为2个字节的Unicode的字符,而字节流处理的单元为一个字节。Java内用Unicode编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内Unicode字符流之间的转换。而类InputStreamReader和OutputStr... ...
分类:
编程语言 时间:
2020-02-28 12:01:11
阅读次数:
75
我们在67节和68节实现了线程的一些基本协作机制,那是利用基本的wait/notify实现的,我们提到,Java并发包中有一些专门的同步工具类,本节,我们就来探讨它们。 我们要探讨的工具类包括: 读写锁ReentrantReadWriteLock 信号量Semaphore 倒计时门栓CountDow ...
分类:
编程语言 时间:
2020-02-28 01:39:36
阅读次数:
78
啥是异步IO 众所周知,CPU速度太快,磁盘,网络等IO跟不上. 而程序一旦遇到IO的时候,就需要等IO完成才能进行才能进行下一步的操作. 严重拖累了程序速度. 因为一个IO操作就阻塞了当前线程,导致其他代码无法执行,所以我们必须使用多线程或者多进程来并发的执行代码. 但是多线程或者多进程虽然解决了 ...
分类:
编程语言 时间:
2020-02-26 23:22:55
阅读次数:
161
首先,wait()是释放锁的,因此wait()之前要先获得锁,而锁在同步块开始的时候获得,结束时释放,即同步块内为持有锁的阶段。 那为什么要设计同步块呢?或者说没有同步块会怎样呢? ...
分类:
其他好文 时间:
2020-02-26 16:59:50
阅读次数:
60
import timefrom PIL import ImageGrabimport numpy as npimport cv2 beg = time.time()debug = False# img = ImageGrab.grab(bbox=(250, 161, 1141, 610))img = ...
分类:
其他好文 时间:
2020-02-26 01:25:09
阅读次数:
92
一、flutter_html 涉及的 api 接口: http://www.phonegap100.com/appapi.php?a=getPortalArticle&aid=20 二、Flutter 解析 html https://pub.dev/packages/flutter_html flu ...
分类:
Web程序 时间:
2020-02-25 19:41:45
阅读次数:
265
多线程同步问题,都需要用到监视器,用来监视资源是否可用。C++中使用condition_variable,Java中使用Condition来实现同步。 1. 实现思路 1. 需要有一个全局变量控制当前该哪个线程访问资源 2. 调用wait,让出资源使用权 3. 调用notify,通知线程访问资源 2 ...
分类:
编程语言 时间:
2020-02-25 14:43:12
阅读次数:
89