1 """ 2 死锁 3 要AB两个锁 4 当A锁内部需要使用B锁,同时B锁内部需要使用A锁的时候,就要可能会出现死锁 5 6 出现死所的解决方法: 7 1.重构代码 8 2.添加timeout时间 9 10 下面代码中要可能返回下面内容,在同时认为锁被对方占用,同时释放 11 Thread-1获取 ...
分类:
编程语言 时间:
2020-05-31 11:18:51
阅读次数:
61
多线程 一、什么是多线程? 进程:正在执行的程序。 线程:可以理解成进程中独立运行的子任务,一个进程至少有一个线程。 多线程:一个进程中有多个线程。 二、为什么要使用多线程? 为了更好地利用CPU资源。 进程之间不能共享数据,线程可以。 系统创建进程需要为该进程重新分配系统资源,创建线程代价比较小。 ...
分类:
编程语言 时间:
2020-05-30 20:00:12
阅读次数:
59
redis 的列表允许用户从序列的两端推入或者弹出元素,获取列表元素,以及执行各种常见的列表操作,这里介绍一些常用的列表处理命令,并在 Yii 中的使用。 RPUSH RPUSH:RPUSH key-name value [value …]将一个或多个值推入列表的右端(尾部) LPUSH LPUSH ...
分类:
其他好文 时间:
2020-05-30 12:56:02
阅读次数:
66
by 程序员野客 在之前的文章中,我们已经介绍了 Python 通过 _thread 和 threading 模块提供了对多线程的支持,threading 模块兼具了 _thread 模块的现有功能,又扩展了一些新的功能,具有十分丰富的线程操作功能,本节我们就来详细学习一下 threading 模块 ...
分类:
编程语言 时间:
2020-05-30 12:52:49
阅读次数:
54
Spring事务不生效可能原因 1. @Transactional 注解的 rollbackFor 捕获的异常范围小于代码抛出的异常,导致不会滚 2. 设置了事务的timeout时间,代码逻辑执行超时了,导致事务失效 3. 被@Transactional 注解修饰的方法, 修饰符非public 或者 ...
分类:
编程语言 时间:
2020-05-28 19:47:05
阅读次数:
116
1、分类 一共分为MonkeyRunner、MonkeyDevice和MonkeyImage三种 2、MonkeyRunner (1)说明 MonkeyRunner提供连接真机和模拟器、输入、暂停、警告框等方法 (2)常用方法 waitForConnection(timeout,deviceid) ...
#vim /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true G ...
分类:
其他好文 时间:
2020-05-28 19:30:02
阅读次数:
116
在“绑定信息”下列表中先择“UDP”,在“端口类型”下拉列表中选择“Ethernet",然后单击“增加”按钮,新创建端口的信息将会出现在端口信息表中 创建另一个端口。“绑定信息”选择真实PC中任意一个网卡地址,这里选择了PC中的无线网卡,IP地址为了92168.0.100,“端口类型”仍然选择”Et ...
分类:
其他好文 时间:
2020-05-28 16:41:12
阅读次数:
123
UI自动化我使用的是 puppeteer+jest+typescript 的框架,记录一下我的学习过程。 首先看了B站的视频,讲的 puppeteer ,很详细,可以直接看项目实战,操作中遇到问题再去前面的基础内容里找。 B站链接:https://space.bilibili.com/3061070 ...
分类:
其他好文 时间:
2020-05-27 20:35:41
阅读次数:
104
脚本用于在Chrome的Console内定时刷新网页 timeout=prompt("Set timeout (Second):"); count=0 current=location.href; if(timeout>0) setTimeout('reload()',1000*timeout); ...
分类:
Web程序 时间:
2020-05-27 18:35:28
阅读次数:
175