
多线程
文章平均质量分 59
丁垠午
这个作者很懒,什么都没留下…
展开
-
Java并发之Executor
Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序,本文讲的是Executor框架。Executor结构如下: Runnable与Callable(1)Callable规定的方法是call(),Runnable规定的方法是run()。 (2)Callable的任务执行原创 2016-10-25 21:17:59 · 345 阅读 · 0 评论 -
volatile 与 synchronized关键字详解
在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另一个线程就能读到这个线程修改的值。如果volatile变量修饰符使用恰当的话,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度。volati原创 2016-11-07 23:31:42 · 348 阅读 · 0 评论 -
笔试题分析(1)
最近看到一个笔试题目:10W个文本文件存放在/opt/test/目录及其子目录下,每个文件的大小为1M。 统计文件中的字母A出现的个数。 4核CPU,8G内存。看到这样的题目,首先想到的方法是遍历所有文件,然后把每个文件中的A的次数给统计出来。那我们一步步分开来。 1、遍历10W个文本文件方法一: 通过迭代,得到所有的文本数量,但是这样是单线程,量级越大,效率就越来越慢。 //方法原创 2017-07-26 11:16:15 · 454 阅读 · 0 评论 -
爬虫记录(4)——多线程爬取图片并下载
还是继续前几篇文章的代码。当我们需要爬取的图片量级比较大的时候,就需要多线程爬取下载了。这里我们用到forkjoin pool来处理并发。 1、DownloadTask下载任务类package com.dyw.crawler.util;import java.io.File;import java.io.InputStream;import java.util.List;import j原创 2017-09-07 17:26:58 · 997 阅读 · 0 评论