死锁:指两个或两个以上进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待现象,若无外力作用,它们都将无法继续推进下去。例:交叉死锁:线程1获得了锁1,线程2获得了锁2,此时线程1调用lock想获得锁2,需挂起等待线程2释放锁2,而线程2也想获得锁1,也需挂起等待..
分类:
编程语言 时间:
2016-04-25 22:58:19
阅读次数:
661
互斥量:多个线程同时访问共享数据时可能会冲突,这跟信号的可重性是同样的问题。如果两个线程都要把某个全局变量增加1,这个操作在某平台需要三条指令完成:1.从内存读变量值到寄存器2.寄存器的值加13.将寄存器的值写回内存先举个例子:创建两个线程,各把counter增加5000次,正常..
分类:
编程语言 时间:
2016-04-23 07:44:58
阅读次数:
218
首先是UID修改的问题,只要卡是UID卡,就都可以修改UID,首先读卡器连接电脑,卡片放到读卡器上。 然后我们要用一个工具,UID207。打开UID207.exe,点Initialize,初始化。 然后点Connect连接。 然后可以看到连接成功ACR122U了,点Read就可以读取卡片的0扇区0段 ...
分类:
其他好文 时间:
2016-04-21 07:18:26
阅读次数:
1113
本人设计了一个高效读写锁,可实现多个线程读一个线程写的锁,应该比Delphi自带的读写锁高效,本人没有做对比测试。 本文的锁不可以在一个线程里重入,否则会锁死,另外读写锁最多支持65535个线程同时读。 ...
Oracle的表锁死以及解锁 oracle 查看锁死的表,锁死的进程。
分类:
数据库 时间:
2016-03-18 14:40:58
阅读次数:
270
在有些情况下死锁是可以避免的。本文将展示三种用于避免死锁的技术: 加锁顺序 加锁时限 死锁检测 加锁顺序 当多个线程需要相同的一些锁,但是按照不同的顺序加锁,死锁就很容易发生。 如果能确保所有的线程都是按照相同的顺序获得锁,那么死锁就不会发生。看下面这个例子: Thread 1: lock A lo
分类:
编程语言 时间:
2016-03-03 22:43:10
阅读次数:
285
Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python 1.1. Sql语法树 ast 如下图锁死1 2. SQL语句解析的思路和过程3 2.1. lexer作为一个工具,完成了对SQL字符串的切割,将语句转化成一个tokens数组。3
分类:
数据库 时间:
2016-02-16 01:15:31
阅读次数:
578
过多的同步有可能出现死锁,死锁的操作一般是在程序运行的时候才有可能出现。多线程中要进行资源的共享,就需要同步,但同步过多,就可能造成死锁。死锁例子:package com.vince;/** * 线程死锁 * @author acer * */public class DeadThreadDemo ...
分类:
编程语言 时间:
2016-01-19 23:40:53
阅读次数:
225
转载者注:升级了EI Captitan后,Mac系统对很多文件的管理权限直接进行了锁死,root无法修改,目前据我所知受影响的包括vim的配置文件,Python的一些文件(Python转exe程序的工具也会出问题),本篇文章提供了一个很好的思路,我也是在安装ipython时搜到这篇文章的。亲测原文内...
分类:
编程语言 时间:
2016-01-11 21:54:26
阅读次数:
645