. 当前目录 / 根目录 ~ $HOME目录 反斜杠 \告诉s h e l l该命令尚未结束 touch:创建新文件 chmod u+l filename:l权限,给文件filename加锁,别的用户不能访问此文件 绝对模式:4:读 2:写 1:执行。例如:744 <==> -rwxr--r-- 一 ...
分类:
系统相关 时间:
2017-07-20 20:58:19
阅读次数:
214
在并发编程中,经常会申请一块代码去加锁操作,比如new Reentrantlock().lock(); 需求一:假设我们有十个线程t1-t10同时到达临界区,只有一个线程能获取锁,其余线程只能等待其释放锁才有机会去获得锁。 对于这么一个需求,如果是你该如何去设计lock()这个方法来满足以上需求? ...
分类:
其他好文 时间:
2017-07-20 10:11:28
阅读次数:
172
线程安全 什么是线程安全? 当多个线程访问某一个类(对象或方法)时,这个类能表现出正确的行为,那么这个类(对象或方法)就是线程安全的 synchronized:就是给对象或方法加锁,而加锁的代码称为“互斥区”或“临界区” 示例总结: 当多个线程访问同一个加锁方法时,是以线程排队的形式访问(这个排队的 ...
分类:
其他好文 时间:
2017-07-17 18:46:47
阅读次数:
75
1、锁的出现,是因为并发读写同一个数据的时候,需要进行数据完备性的保护,避免脏读、脏写等。 2、乐观锁,需要在事务中加锁,在读取数据的时候,不必在意数据是否已经被修改了(即允许脏读);但是在写入数据的时候,要检查数据是否已经被修改了(可以通过版本号等机制控制),如果被修改那么就通知事务调用者,事务失 ...
分类:
其他好文 时间:
2017-07-17 15:12:01
阅读次数:
149
前言 Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法,都可以被重写(overwrite)。 本文介绍了2种方法在使用和重写时,一些需要注意的问题。 一 ...
分类:
其他好文 时间:
2017-07-16 23:32:09
阅读次数:
215
考虑到多线程,都在一个主进程中共享栈变量,在操作同一个局部变量时可能出现絮乱的现象,即使加锁也容易出现死锁的现象,小编在这里再次记录下多进程编程,废话不多说,直接上代码: 在命令行运行结果: 同时开启3个进程: 运行结果: 将进程封装为类: 温馨提示:进程p调用start()时,自动调用run() ...
分类:
编程语言 时间:
2017-07-16 21:27:34
阅读次数:
249
一、什么是NSThread NSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程,需要手动管理线程的生命周期,处理线程同步等问题。 二、NSThread方法介绍 1)动态创建 NSThread * newThread = ...
分类:
移动开发 时间:
2017-07-15 12:41:56
阅读次数:
257
目的:解决在ubuntu中安装或升级时出现“11:资源暂时不可用”错误。环境:ubuntu16.04LTS出现错误情景:termial下在执行sudoaptupdate后,执行安装命令出现如下错误:E:无法获得锁/var/lib/dpkg/lock–open(11:资源暂时不可用)E:无法对管理目录(/var/lib/dpkg/)加锁,是不是?.
分类:
系统相关 时间:
2017-07-14 09:53:59
阅读次数:
4589
lock在官方文档里的解释是:flock()允许你执行一个简单的可以在任何平台中使用的读取/写入模型(包括大部分的Unix派生版和甚至是Windows)。如果锁定会堵塞的话(EWOULDBLOCK错误码情况下),请将可选的第三个参数设置为TRUE。锁定操作也可以被fclose()释放(代码执行完毕时也..
分类:
Web程序 时间:
2017-07-13 19:14:50
阅读次数:
156
多线程中。在相互排斥量和 读写锁的 属性中。都有一个叫 进程共享属性 。 对于相互排斥量,查询和设置这个属性的方法为: pthread_mutexattr_getpshared pthread_mutexattr_setpshared 我一開始不理解什么是 进程共享属性。 看了man中的说明例如以下 ...
分类:
编程语言 时间:
2017-07-09 13:48:49
阅读次数:
175