前面一篇文章《wait、notify应用场景(生产者-消费者模式)》是一种生产者消费者模式实现,今晚这是Lock方式实现,下面是源码: 生产者代码: 消费者代码: 测试代码: ReentrantLock 公平锁和非公平锁 非公平锁:获取锁的方式是抢占式的,随机的。默认ReentrantLock()是 ...
分类:
其他好文 时间:
2018-12-19 22:59:45
阅读次数:
182
if的基本格式 if语句用来做判断,并选择要执行的语句分支。基本格式如下: 其中elif是可选的,可以有任意多个,else是可选的,表示全都不满足条件时该执行的分支。 例如: 条件表达式Condition部分以运算结果的True、False为if的分支执行依据。 在Python中所有数据对象要么是T ...
分类:
编程语言 时间:
2018-12-16 18:07:25
阅读次数:
246
题意 给一棵树,每条边有权。求一条简单路径,权值和等于 $K$,且边的数量最小。 点分治,求距离时带上经过边的数量即可。用的第一种写法(下面)。 食用淀粉质注意事项 1、 统计子树内答案的两种写法: 跟树形dp一样将某子树与前面的子树合并 或者是 考虑所有子树的答案再容斥,减去不合法的一棵子树内答案 ...
分类:
其他好文 时间:
2018-12-16 00:49:19
阅读次数:
181
Java实现生产者消费者的方式有:wait && notify、BlockingQueue、Lock && Condition等 wait、notify注意事项:(1)可以使用wait()和notify()方法在Java中实现线程间通信。不只是一个或两个线程,而是多个线程可以使用这些方法相互通信。( ...
分类:
其他好文 时间:
2018-12-15 17:24:19
阅读次数:
201
当条件为true时,while循环执行一条语句(也可以是一个语句块)。一般格式为 while ( condition ) statement; 或 while (condition) { statement; ... } 如果开始循环条件的值就为false,则while循环体一次也不执行。 whil ...
分类:
其他好文 时间:
2018-12-15 17:23:58
阅读次数:
121
网页表格 通过html编写表格来做数据的交互 数据操作冲突 https://docs.djangoproject.com/en/2.1/ref/models/expressions/ avoiding race conditions using f generic views 可以减少大量的代码冗余 ...
分类:
编程语言 时间:
2018-12-14 22:39:11
阅读次数:
214
1. MySQL DELETE语句介绍 要从表中删除数据,请使用MySQL DELETE语句。下面说明了DELETE语句的语法: delete from table_name where condition; delete from table_name where condition; 在上面查询 ...
分类:
数据库 时间:
2018-12-14 13:06:18
阅读次数:
197
Linux作为多任务系统,当一个进程生成的数据传输到另一个进程时,或数据由多个进程共享时,或进程必须彼此等待时,或需要协调资源的使用时,应用程序必须彼此通信。 一、控制机制 1、竞态条件 几个进程在访问资源时彼此干扰的情况通常称之为竞态条件(race condition)。在对分布式应用编程时,这种 ...
分类:
系统相关 时间:
2018-12-12 23:49:00
阅读次数:
244
程序就像一只有知觉的动物,在它的客体存在阶段,我们仍需要控制它做出行为的能力。就像一只蚂蚁,什么时候该觅食,什么时候该筑巢,什么时候该休眠,都应该处在各种条件的掌控之中。 一切条件语句的基础,均为true或者false。条件语句通过真假来决定执行路径。 下面介绍各种执行流程的控制形式: 1、IF-E ...
分类:
编程语言 时间:
2018-12-12 00:37:17
阅读次数:
195
点分治,用一个mn[v]数组记录当前root下长为v的链的最小深度,每次新加一个儿子的时候都在原来儿子更新过的mn数组里更新ans(也就是查一下mn[m dis[p]]+de[p]) 这里注意更新和初始化的时候不能对整个mn操作,这样时间复杂度是错的,要开一个栈存一下更新了哪些点,只初始化这些点即可 ...
分类:
其他好文 时间:
2018-12-11 19:54:07
阅读次数:
159