Java并发编程:Synchronized及其实现原理 Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sl ...
分类:
编程语言 时间:
2020-06-24 16:18:46
阅读次数:
52
--清空日志 USE [master] ALTER DATABASE his2020 SET RECOVERY SIMPLE WITH NO_WAIT blog为需要清除日志的数据库名称 ALTER DATABASE his2020 SET RECOVERY SIMPLE --简单模式 blog为需 ...
分类:
数据库 时间:
2020-06-24 14:23:57
阅读次数:
67
1、技术概述 搜索框搜索功能是非常常用的一个功能,可以提高用户查找信息的效率,接触这个功能的原因是开发中我们的应用需要这个功能来方便用户查找列表中的信息。技术难点在于需要自己书写文本过滤的规则 并更新给用户。 2、技术详述 最初在网上查阅了大量的代码,通过阅读多分代码比较会发现他们的一些相同的地方, ...
分类:
其他好文 时间:
2020-06-24 00:19:29
阅读次数:
68
1.九寨沟景点 import asyncio import requests from bs4 import BeautifulSoup base_url = 'https://www.jiuzhai.com/{0}' async def parse_next_html(response): sou ...
分类:
编程语言 时间:
2020-06-23 15:31:36
阅读次数:
63
wait/notify之虚假唤醒(二) 一:sleep和wait的区别 讲这个虚假唤醒之前先来详细说明sleep和wait之间的区别 1:sleep是Thread线程类中的方法,为wait是Object类中的方法 2:sleep方法不会释放锁,但是wait会释放锁 3:sleep可以单独放在很多地方 ...
分类:
其他好文 时间:
2020-06-22 14:49:12
阅读次数:
40
在 Java 发展史上曾经使用 suspend()、resume()方法对于线程进行阻塞唤醒,但 随之出现很多问题,比较典型的还是死锁问题。 解决方案可以使用以对象为目标的阻塞,即利用 Object 类的 wait()和 notify()方 法实现线程阻塞。 首先,wait、notify 方法是针对 ...
分类:
编程语言 时间:
2020-06-21 16:16:59
阅读次数:
114
阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。 这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当 队列满时,存储元素的线程会等待队列可用。 阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消 费者是从队列里拿元素的线程。阻塞队列就是生产 ...
分类:
其他好文 时间:
2020-06-21 16:04:43
阅读次数:
78
//利用已有的SysTick配置,读取计数判断延迟 void delay_us(uint32_t udelay) { uint32_t startval,tickn,delays,wait; startval = SysTick->VAL; tickn = HAL_GetTick(); //sysc ...
分类:
其他好文 时间:
2020-06-21 15:33:06
阅读次数:
58
最大的不同是在等待时 wait 会释放锁,而 sleep 一直持有锁。Wait 通常被用于线 程间交互,sleep 通常被用于暂停执行。 直接了解的深入一点吧: 在 Java 中线程的状态一共被分成 6 种: 初始态:NEW 创建一个 Thread 对象,但还未调用 start()启动线程时,线程处 ...
分类:
编程语言 时间:
2020-06-21 14:14:33
阅读次数:
76
当一个线程进入 wait 之后,就必须等其他线程 notify/notifyall,使用 notifyall,可 以唤醒所有处于 wait 状态的线程,使其重新进入锁的争夺队列中,而 notify 只能 唤醒一个。 如果没把握,建议 notifyAll,防止 notigy 因为信号丢失而造成程序异常 ...
分类:
其他好文 时间:
2020-06-21 13:54:03
阅读次数:
50