随笔分类 - Java多线程
摘要:Java多线程Master-Worker模式,多适用于需要大量重复工作的场景中。 例如:使用Master-Worker计算0到100所有数字的立方的和 1.Master接收到100个任务,每个任务需要0到100中每个数字的立方,这里为了效果,每个任务再sleep一秒, Master需要将这些任务放到
阅读全文
摘要:1.interrupt()方法 interrupt方法不会真正中断线程,它只会清楚线程的wait,sleep,join的受阻状态,时线程重新获得CPU的执行权。 此时如果再次调用线程的wait,sleep,join方法,将会抛出一个InterruptedException异常 2.join()方法,
阅读全文
摘要:JDK5以后为代码的同步提供了更加灵活的Lock+Condition模式,并且一个Lock可以绑定多个Condition对象 1.把原来的使用synchronized修饰或者封装的代码块用lock.lock()与lock.unlock()进行手动的锁获取与释放 2.把原来线程之间的通讯方式由锁对线o
阅读全文
摘要:synchronized关键字代表着同步的意思,在Java中被synchronized修饰的有三种情况 1.同步代码块 2.同步函数 3.静态同步函数 死锁案例 1.同步嵌套 2.多生产者多消费者时只使用notify(),线程通讯死锁 解决办法采用notifyAll代替notify,唤醒所有线程就不
阅读全文
摘要:Java多线程Future模式有些类似于Ajax的异步请求Future模式的核心在于:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑 假设服务器的处理某个业务,该业务可以分成AB两个过程,并且AB两个过程之间不需要彼此的返回结果 A过程需要1秒钟,B过程需要2秒钟,主线程
阅读全文

浙公网安备 33010602011771号