1. sleep()方法是Thread的静态方法,而wait是Object实例方法2. wait()方法必须要在同步方法或者同步块中调用,也就是必须已经获得对象锁。而sleep()方法没有这个限制可以在任何地方种使用。另外,wait()方法会释放占有的对象锁,使得该线程进入等待池中,等待下一次获取资 ...
分类:
其他好文 时间:
2019-12-05 13:27:22
阅读次数:
88
1.打开大文件需要注意的地方 2.打开文件系统所发生的的过程 3.linux下静态库和动态库的区别. 4.对于一个int变量如何保证多线程同步安全 volatile 5.数据模块没有考虑数据缓存层 6.内存泄漏如何检测,工具不靠谱,那就自己封装new方法. 7.死锁如何解除 8.进程间共享内存. 9 ...
分类:
其他好文 时间:
2019-11-25 23:46:13
阅读次数:
95
死锁: 不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续 解决方法 专门的算法 原则 尽量减少同步资源的定义 尽量避免嵌套同步 解决线程安全问题的方式三:Lock锁 JD ...
分类:
编程语言 时间:
2019-11-25 15:28:20
阅读次数:
78
1.线程同步 关键字:synchronized 百度一下:synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程 ...
分类:
编程语言 时间:
2019-11-24 21:08:07
阅读次数:
90
前置知识了解Java基本语法了解多线程基本知识知识介绍Synchronized简介:作用、地位、不控制并发的后果两种用法:对象锁和类锁多线程访问同步方法的7种情况:是否是static、Synchronized方法等Synchronized的性质:可重入、不可中断原理:加解锁原理、可重入原理、可见性原理Synchronized的缺陷:效率低、不够灵活、无法预判是否成功获取锁常见问题:如何选择Lock
分类:
编程语言 时间:
2019-11-22 01:23:46
阅读次数:
79
1. synchronized使用 1.1 synchronized介绍 在多线程并发编程中synchronized一直是元老级角色,很多人都会称呼它为重量级锁。但是,随着Java SE 1.6对synchronized进行了各种优化之后,有些情况下它就并不那么重了。 synchronized可以修 ...
分类:
其他好文 时间:
2019-11-21 17:09:18
阅读次数:
62
原文:如何在ASP.NET Core程序启动时运行异步任务(1) 原文:Running async tasks on app startup in ASP.NET Core (Part 1) 作者:Andrew Lock 译者:Lamond Lu 背景# 当我们做项目的时候,有时候希望自己的ASP.... ...
分类:
Web程序 时间:
2019-11-21 13:57:58
阅读次数:
74
Redis实现类似同步方法调用的功能(一) 首先声明,这么干纯粹是为了好玩。 通常我们用Redis主要是为了存储一些数据,由于数据在内存里,所以查询更新很快。同时我们也可以利用 Pub/Sub 功能来实现消息发布/订阅。但是今天我们来说说怎么通过Redis的list来实现 Server - Clie ...
分类:
其他好文 时间:
2019-11-19 15:33:02
阅读次数:
85
线程安全问题? 当多个线程共享同一个全局变量,做写的操作时,可能会受到其他线程的干扰。读不会发生线程安全问题。 -- Java内存模型。 非静态同步方法使用什么锁? this锁 静态同步方法使用什么锁? 当前类的字节码文件 什么是ThreadLocal? ThreadLocal是给每个线程提供局部变 ...
分类:
编程语言 时间:
2019-11-19 11:47:47
阅读次数:
85
同步方法就是在方法前加关键字 synchronized;同步代码块则是在方法内部使用 synchronized 加锁对象相同的话,同步方法锁的范围大于等于同步方法块。一般加锁范围越大,性能越差 同步方法如果是 static 方法,等同于同步方法块加锁在该 Class 对象上 Java 自学指南 Ja ...
分类:
其他好文 时间:
2019-11-16 12:31:49
阅读次数:
86