- 博客(5)
- 资源 (14)
- 收藏
- 关注
原创 JAVA 多线程编程 --线程的调度策略
JAVA中一个线程有自己的优先级(priority)getPriority:返回当前线程的优先级setPriority:设置当前线程的优先级 既然JAVA支持多线程,那么多个线程同时执行的时候必然涉及到调度的问题。通过研究官方文档和书籍,我发现:JAVA的调度算法非常简单: 1.选择当前可运行线程中优先级最高的线程运行2.拥有同样优先级的线程:采用round-rob
2015-08-19 19:59:39 1245
原创 死锁,活锁和饥饿
死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 死锁发生的条件互斥条件:线程对资源的访问是排他性的,如果一个线程对占用了某资源,那么其他线程必须处于等待状态,直到资源被释放。请求和保持条件:线程T1至少已经保
2015-08-19 19:56:47 6349 1
原创 Java 线程面试问题
在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。用于直接面向市场交易的高容量和低延时
2015-08-19 19:40:44 612
原创 Java中关于原子操作和volatile关键字
研究ThreadPoolExecutor的时候,发现其中大量使用了volatile变量。不知为何,因此做了一番查找,研究: 其中借鉴了很多网上资料。 在了解volatile变量作用前,先需要明白一些概念: 什么是原子操作? 所谓原子操作,就是"不可中断的一个或一系列操作" , 在确认一个操作是原子的情况下,多线程环境里面,我们可以避免仅仅为保护这个操作在外围加上性能昂贵的锁,甚至借助于
2015-08-19 17:46:29 3293
原创 Java阻塞队列的实现
阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列,下图展示了如何通过阻塞队列来合作:
2015-08-19 17:08:37 6047 1
scratch3.0 50例游戏源码.rar
2021-04-14
汉字转拼音或首字母小工具 Excel方便实用
2014-02-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人