多线程
jiang_zf
这个作者很懒,什么都没留下…
展开
-
Java并发编程:线程池的使用
如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的效果。今天我们就来详细讲解一下Java的线程池,首先我们从最核心的ThreadPoolExecutor类中的...转载 2018-03-15 07:38:21 · 210 阅读 · 0 评论 -
Synchronized 互斥块(对象锁) 一个对象和一个monitor 的关系
Synchronized :锁住的是对象,出现synchronized表示随后的代码块要用到共享数据了,要锁住了。一、3种形式。1、synchronized(obj):可以任意指定对象.2、synchronized(this):当前对象:当一个类加到内存时,常量池有一个地址直接指向当前正在执行的对象. 3、public synchronized void run():当前对象(this),这是实...转载 2018-03-17 21:30:12 · 445 阅读 · 0 评论 -
JAVA多线程读取同一个文件,加速对文件内容的获取
前几天,朋友托我帮个忙,问我能不能用多线程的方式,读取一个文件,获取里面的内容。他大概想做的事情,就是读取文件里面每一行的内容,然后分析一下,再插入到数据库这样。但是,由于他那个记录内容的文件实在是太大了,虽然他弄成了单生产者-多消费者的模型,整体的处理速度还是非常的慢,因为读取速度不够快。所以,他就问我要怎么多线程读取同一个文件里面的内容,形成多生产者-多消费者的模型,从而提高速度。 因此就...转载 2018-03-21 20:29:05 · 2289 阅读 · 0 评论 -
Java中的线程池——ThreadPoolExecutor的使用
转自:https://blog.csdn.net/u010723709/article/details/50377543开发过程中,合理地使用线程池可以带来3个好处:降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性:线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低...转载 2018-08-13 20:58:55 · 468 阅读 · 0 评论 -
并发、并行、同步、异步、多线程的区别
并发:同一时间段有几个程序都处于已经启动到运行完毕之间,并且这几个程序都在同一个处理机上运行,并发的两种关系是同步和互斥;互斥:进程之间访问临界资源时相互排斥的现象;同步:进程之间存在依赖关系,一个进程结束的输出作为另一个进程的输入。具有同步关系的一组并发进程之间发送的信息称为消息或者事件;并行:单处理器中进程被交替执行,表现出一种并发的外部特征;在多处理器中,进程可以交替执行,还能重叠执行...转载 2018-10-31 09:24:53 · 197 阅读 · 0 评论