多线程
kopshome
这个人,有点儿懒
展开
-
java多线程基础知识(一)
最近在看书,想在这里介绍一下java多线程的一些知识,加深记忆,分享成果…直奔主题…线程优先级目前操作系统采用时分的形式来调度线程,操作系统会分出一个一个时间片,线程会分配到若干时间片,当线程用完这个时间片就会发生线程调度,等待下一次分配.线程被分配的时间片越多,此线程就获得资源越多,而线程优先级就决定了此线程被分配的时间片多少! java线程中,通过成员变量priority控制优先级.优先级范围原创 2017-01-10 23:01:54 · 542 阅读 · 0 评论 -
java多线程基础知识(二)
上一篇文章java多线程基础知识(一)讲到了线程的优先级,状态,Daemon线程等,这里继续线程的基础知识.线程的启动和结束上篇文章的demo中,都是用start方法启动线程,当run方法运行结束后,线程自动结束,当我们new一个Thread的时候 java Thread daemonThread = new Thread(daemonRunner, "daemonThread"); 可以去看他原创 2017-01-11 15:34:22 · 482 阅读 · 0 评论 -
浅析java线程池
线程池是什么? 线程池的工作机制是什么? 线程池带来了哪些好处? 通过名称可以知道,线程池实际是管理线程的地方,当我们要持续的创建线程,销毁线程的时候,线程池是一个不错的解决方案,java本身也自带了线程池的实现.线程池的基本原理当把任务提交给线程池的的时候,其工作流程:线程池判断核心线程池里的线程是否有空闲的,如果有,创建一个新线程执行任务,反之,走下面流程判断工作队列是否已满.如果没有原创 2017-01-12 15:45:13 · 501 阅读 · 0 评论 -
Java线程的等待/通知(wait/notify)机制详解
Java的等待/通知 机制,举例来说就是,线程A,拿到了对象object的锁,并且调用了object的wait()方法,同时释放了锁,然后进入WAITTING状态。线程B同样前提是拿到了object的锁,然后调用了notify()或notifyAll()方法,线程A收到了线程B的通知后,从wait()方法上返回,继续执行它的操作。Java的相关 等待/通知 相关方法是所有对象都有的方法,因为这...原创 2018-04-23 17:31:00 · 4525 阅读 · 1 评论 -
Java的锁—彻底理解重入锁(ReentrantLock)
重入锁简单理解就是对同一个线程而言,它可以重复的获取锁。例如这个线程可以连续获取两次锁,但是释放锁的次数也一定要是两次。下面是一个简单例子:public class ReenterLock { private static ReentrantLock lock = new ReentrantLock(); private static int i = 0; /...原创 2018-07-08 13:50:17 · 5313 阅读 · 0 评论 -
Java的锁—读写锁(WriteReadLock)
对某一数据进行线程安全的读写操作,那么就要利用锁来进行线程同步,习惯的做法是,读的时候加锁,禁止其他的读写操作,写的时候,更是要对其他读写操作禁止。那么读写锁就是要更细粒度的进行锁的操作。读的时候,允许其他的线程的读操作,禁止其他线程的写操作等。那么具体的总结如下表: - 读 写 读 非阻塞 阻塞 写 阻塞 阻塞比较极端的例子,如果系...原创 2018-07-13 15:40:52 · 1248 阅读 · 0 评论