这篇文章,大部分内容,是周五我做的一个关于如何进行Java多线程编程的Knowledge Sharing的一个整理,我希望能对Java从第一个版本开始,在多线程编程方面的大事件和发展脉络有一个描述,并且提及一些在多线程编程方面常见的问 题。对于Java程序员来说,如果从历史的角度去了解一门语言一个特...
分类:
编程语言 时间:
2015-10-21 12:10:25
阅读次数:
384
目前在 iOS 和 OS X 中有两套先进的同步 API 可供我们使用:NSOperation 和 GCD 。其中 GCD 是基于 C 的底层的 API ,而 NSOperation 则是 GCD 实现的 Objective-C API。1. 什么时候使用NSOperationQueue而不是GCD...
分类:
移动开发 时间:
2015-10-21 09:21:57
阅读次数:
147
在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞争资源的安全访问,但是这种锁不区分读写,称这种锁为普通锁。为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,在一定程度上提高了程序的执行效率。Java中读写锁有个接口java.util.concurren...
分类:
编程语言 时间:
2015-10-21 00:07:03
阅读次数:
269
Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。有关Java5线程新特征的内容全部在java.util.concu...
分类:
编程语言 时间:
2015-10-21 00:05:17
阅读次数:
176
在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLock。Condition:Condition 将...
分类:
编程语言 时间:
2015-10-20 23:59:31
阅读次数:
450
阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可...
分类:
编程语言 时间:
2015-10-20 23:59:22
阅读次数:
368
一、上传图片1.1、示例/*上传图片*/import java.net.*;import java.io.*;import java.util.*;import java.text.*;/*客户端1.建立客户端服务2.读取客户端已经有数据,,将文件名发送给服务端3.通过Scoket,输出流将数据发送...
分类:
编程语言 时间:
2015-10-20 22:37:01
阅读次数:
332
引言:操作系统课程上学习的生产者消费者模型可以说是学习并发的最好例子。这里需要注意Java不支持进程,只支持多线程。本篇文章将以一个最简单的生产者消费者模型进行Java并发的讲解。学习了本篇博文你应该学会了一下几个内容1. 多个线程如何正确并发对一个变量进行读和写2. 生产者消费者模型的实现Java...
分类:
编程语言 时间:
2015-10-20 21:14:33
阅读次数:
225
引言:操作系统课程上学习的生产者消费者模型可以说是学习并发的最好例子。这里需要注意Java不支持进程,只支持多线程。本篇文章将以一个最简单的生产者消费者模型进行Java并发的讲解。学习了本篇博文你应该学会了一下几个内容1. 多个线程如何正确并发对一个变量进行读和写2. 生产者消费者模型的实现Java...
分类:
编程语言 时间:
2015-10-20 20:58:17
阅读次数:
237
Jsoup应该说是最简单快速的Html解析程序了,完善的API以及与JS类似的操作方式,为Java的Html解析带来极大的方便,结合多线程适合做一些网络数据的抓取,本文从一下几个方面介绍一下,篇幅有限,化繁为简。下载Jsouphttp://jsoup.org/download查看官方提供的手册:ht...
分类:
Web程序 时间:
2015-10-20 19:24:57
阅读次数:
165