
多线程
fangqun663775
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java并发编程入门:synchronized 与 Lock 的那点事
此篇转载文章只说明了synchronized和Lock的应用,具体两者之间的区别,IBM这篇文章不错 http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html synchronized和Lock应用举例转自:http://www.cnblogs.com/benshan/p/3551987.html 最近在做一个转载 2017-01-24 17:56:46 · 333 阅读 · 0 评论 -
Java并发-多线程的线程同步工具类(12)
本文主要介绍一些java线程同步工具类,并不进行具体讲解,当有需要时,可以再去结合实例学习。 信号灯(Semaphore) 应用场景举例: 例如公司的打卡系统,如果有一个打卡机,那么一次就只能有一个人打卡,其余的人就被阻塞住,打卡完以后就可由下一个人打卡。如果有3个打卡机,那么一次就允许3个人或者少于三个人打卡,其余的人就得等待打卡机空闲下来才能继续转载 2018-01-04 16:56:10 · 270 阅读 · 0 评论 -
JAVA 并发-多线程读写锁之模拟缓存系统(11)
在多线程中,为了提高效率有些共享资源允许同时进行多个读的操作,但只允许一个写的操作,比如一个文件,只要其内容不变可以让多个线程同时读,不必做排他的锁定,排他的锁定只有在写的时候需要,以保证别的线程不会看到数据不完整的文件。这时候就需要使用读写锁。 [java] view plain copy print? /** * 简单读写锁转载 2018-01-04 16:51:19 · 312 阅读 · 0 评论 -
JAVA 并发-线程同步通信技术(Lock和Condition)(10)
在之前的博客中已经介绍过线程同步通信技术《JAVA 并发-多线程传统线程同步通信技术(4)》,上篇是使用的synchronized,wait,notify来实现,今天我们使用的是Lock和Condition,下面我们结合两者对比来学习。 简单的Lock锁应用: [java] view plain copy print?转载 2018-01-04 16:39:04 · 241 阅读 · 0 评论 -
java并发多线程-返回执行结果(Callable和Future)(9)
启动一个线程不论使用Thread或者Runnable的时候,都是没有返回结果的。也就是说Thread和Runnable的run()方法必须没有返回值。 public void run(){} 解决方案: Callable和Future,一个产生结果,一个拿到结果。 简单的来一个实例demo帮助我们理解:转载 2018-01-03 15:16:07 · 8300 阅读 · 0 评论 -
java并发多线程-基于线程池设计的ScheduledExecutor任务调度(8)
上篇博客《JAVA 并发多线程-线程池(7)》中曾介绍到newScheduledThreadPool(intcorePoolSize),创建corePoolSize大小的线程池。此线程池支持定时以及周期性执行任务的需求。 接下来我们一起来分析一下Java中几种任务调度实现与比较 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。转载 2018-01-03 15:07:36 · 350 阅读 · 0 评论 -
java并发多线程-线程池(7)
线程池的作用: 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。 为什么要用线程池: 1.减少了创建和销毁线程的次数,每个工作线程都转载 2018-01-03 14:56:50 · 212 阅读 · 0 评论 -
java并发-多线程之多个线程之间共享数据(6)
多线程共享数据的方式: 1,如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,卖票系统就可以这么做。 2,如果每个线程执行的代码不同,这时候需要用不同的Runnable对象,例如,设计4个线程。其中两个线程每次对j增加1,另外两个线程对j每次减1,银行存取款 有两种方法来解决此类问题: 将共享转载 2018-01-03 14:53:04 · 1976 阅读 · 2 评论 -
java并发-多线程之线程范围内共享变量(5)
线程范围内共享变量要实现的效果为: 多个对象间共享同一线程内的变量 未实现线程共享变量的demo: [java] view plain copy print? package cn.itcast.heima2; import java.util.HashMap; i转载 2018-01-03 14:50:18 · 526 阅读 · 0 评论 -
java并发-多线程之传统线程同步通信技术(4)
首先介绍几个概念: 这些方法都是Object的方法,并不是线程的方法! wait()方法 wait()方法使得当前线程必须要等待,等到另外一个线程调用notify()或者notifyAll()方法。 当前的线程必须拥有当前对象的monitor,也即lock,就是锁。 线程调用wait()方法,释放它对锁的拥有权,然后等待转载 2018-01-03 14:36:04 · 194 阅读 · 0 评论 -
java并发-多线程之传统线程之互斥技术(Synchronized)(3)
java线程互斥是为了保证,同一时刻最多只有一个线程执行该段代码。那么它的出现又是为了解决什么问题呢?账户存取款,在同一时间段只能让一个人进行操作。 下面来看一个简单实例(多线程带来的问题): [java] view plain copy print? public class TraditionalThreadSynchroni转载 2018-01-03 14:31:31 · 212 阅读 · 0 评论 -
java并发-多线程之线程和进程的区别(1)
在学习Java编程之初,我们就接触过Java线程,当时敲过代码也总结过,但是现在看来还是有点缺陷,并没有联系线程的由来来说明问题,只是简单的介绍了什么是进程,什么是线程,以及它们之间的关系-《Java-线程》。今天我们从进程和线程的由来来补充一下之前的总结。 参考:http://www.cnblogs.com/dolphin0520/p/3910667.html 一.操作系转载 2018-01-03 14:21:32 · 253 阅读 · 0 评论 -
java并发-多线程之线程的创建(2)
对于线程的创建及更加详细的信息可以参看博客《JAVA--线程》,下面是对线程创建的细化及简单再实现。 在java中如果要创建线程的话,一般有两种方式:1)继承Thread类;2)实现Runnable接口。 方式一:继承Thread类 MyThread: [java] view plain copy print?转载 2018-01-03 14:24:23 · 183 阅读 · 0 评论 -
Excel用线程池 创建很多行并填充内容,解决TreeMap的java.util.ConcurrentModificationException
package com.alex.frameworkDemo.poi; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.concurr翻译 2017-04-27 20:25:24 · 1248 阅读 · 0 评论 -
高并发量网站解决
转自:http://blog.youkuaiyun.com/y_h_t/article/details/6322823 一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广转载 2017-01-24 18:06:22 · 318 阅读 · 0 评论 -
Java多线程 3种实现总结
转自:http://www.cnblogs.com/yezhenhan/archive/2012/01/09/2317636.html JAVA多线程实现和应用总结 1 最近在做代码优化时学习和研究了下Java多线程的使用,看了菜鸟们的见解后做了下总结。 1.JAVA多线程实现方式转载 2017-01-24 18:04:43 · 213 阅读 · 0 评论 -
Java中Runnable和Thread的区别
转自:http://blog.youkuaiyun.com/wwww1988600/article/details/7309070 在Java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限,转载 2017-01-24 18:03:23 · 237 阅读 · 0 评论 -
java并发线程应用实例(13)
提到java多线程不免有些人会头大,很多概念都是很理解但是真正到了实战的时候又是不知道如何操作了,下面就结合实际项目来说说多线程的应用。 业务需求: 举例:批量插入10万条用户的相关活动优惠券 操作方式:使用固定10个大小的线程池来做,并每次处理1000条插入数据 线程类:注实现Callable接口的是能得到返回值的线程类转载 2018-01-04 17:03:17 · 265 阅读 · 0 评论