导航:首页 > 编程语言 > java并发编程小例子

java并发编程小例子

发布时间:2022-04-03 09:37:09

java并发编程实战怎么样

我不想再继续吐槽翻译,的确有些话理解起来有些费劲,但就内容而言,这本书当吃无愧堪称JAVA并发领域的一朵明珠,光芒万丈的指引着并发这条路。(如果你有能力就读英文版的,既然要吐槽中文版,还是就事论事的好) 前年的时候看过一边,当时觉得读这本书的时候用个新的成语来形容就是——不明觉厉。 近两年各种并发开始流行,其实也流行了几十年了,可以负责任的说网上你能看到的几乎所有中文关于JAVA并发的理解和解读几乎都可以在这本书上找到。 个人感觉还是应该上来介绍JMM的,这样至少能提起很大兴趣。此书的翻译堪称晦涩难懂,如果不是硬着头皮读下来,尝试去理解,这真不是水平的问题,真难以想象花了10几个小时愣是把这本书再次读完了。 其实这本书读完后你最大的收获应该是能够去理解那些现今相当牛逼的JAVA领域的并发库和框架了,当然你的收获还有就是特别小心的使用锁,发布可见性,活跃性,性能和测试等等。 这本书包含的内容涉及之广、之深不能全部一下子消化完,例子非常具有代表性和针对性,值得你面对并发时再次读读这本书,如果接触的不多或者只是刚刚了解并发,也非常适合你对整个JAVA世界的并发领域有个认识,重读会有更进一步的理解,JAVA的并发真是令人瞠目结舌,无法形容,强大和灵活到一定地步了,当然这份强大是用庞大付出代价的。 个人感觉看完后,真是应该再把JDK里关于并发的库仔细读读。 虽然这本书是在讲JAVA的并发,但是如果有别的语言经验的同学也应该推荐读读,让你了解下JAVA世界的并发是如此的精彩和复杂诡异。 虽然不能完全记住书中的细节,但建好索引就足够了,待日后用时可以再次翻阅。

⑵ java并发编程问题

实例:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CachedFactorizer implements Servlet { //java 网络访问中的缓存编程
// @GuardedBy is an annotation introced by Brian Goetz in his excellent
// book on concurrency : Java Concurrency In Practice. The idea is that
// you indicate the lock that you need to hold before you access a particular
// member variable.
@GuardedBy("this") private BigInteger lastNumber;
//means you should synchronize on "this" before accessing lastNumber.
@GuardedBy("this") private BigInteger[] lastFactors;
//means you should synchronize on "this" before accessing lastFactors.
@GuardedBy("this") private long hits;
//means you should synchronize on "this" before accessing hits.
@GuardedBy("this") private long cacheHits;
//means you should synchronize on "this" before accessing cacheHits.
public synchronized long getHits() {
return hits;
}
public synchronized double getCacheHitRatio() {
return (double) cacheHits / (double) hits;
}

public void service(ServletRequest req, ServletResponse resp) {
BigInteger i = extractFromRequest(req);
BigInteger[] factors = null;
//访问前面提到的那些敏感数据之前,先call synchronized(this) 同步
synchronized(this) {
++hits; //hit 自动加1
if(i.equals(lastNumber)) { //如果i和lastNumber是相等的话
++cacheHits; //cacheHits 自动加1
factors = lastFactors.clone(); //factors更新数据用lastFactors
}
}
if(factors == null) { //如果factors是空的话。
factors = factor(i); //更新factors的数据
synchronized(this) { //访问前面提到的那些敏感数据之前,先call synchronized(this) 同步
lastNumber = i; //更新lastNumber
lastFactors = factors.clone(); //lastFactors 用factors来更新
}
}
encodeIntoResponse(resp, factors); //取得resp然后返回对应数据
}
}

⑶ JAVA并发编程实践的内容简介

《JAVA并发编程实践》随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。Java 5以及6在开发并发程序中取得了显着的进步,提高了Java虚拟机的性能以及并发类的可伸缩性,并加入了丰富的新并发构建块。在《JAVA并发编程实践》中,这些便利工具的创造者不仅解释了它们究竟如何工作、如何使用,还阐释了创造它们的原因,及其背后的设计模式。

⑷ 《Java并发编程实战》pdf下载在线阅读,求百度网盘云资源

《Java并发编程实战》(Brian Goetz)电子书网盘下载免费在线阅读

链接:https://pan..com/s/1LkHQ1LOcgxHjCxplxfhmSg提取码:1234

书名:Java并发编程实战

作者:Brian Goetz

译者:童云兰

豆瓣评分:9.0

出版社:机械工业出版社华章公司

出版年份:2012-2

页数:293

内容简介:

本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。

本书适合Java程序开发人员阅读。

作者简介:

本书作者都是Java Community Process JSR 166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。Brian Goetz有20多年的软件咨询行业经验,并着有至少75篇关于Java开发的文章。Tim Peierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。Joseph Bowbeer是一个Java ME专家,他对并发编程的兴趣始于Apollo计算机时代。David Holmes是《The Java Programming Language》一书的合着者,任职于Sun公司。Joshua Bloch是Google公司的首席Java架构师,《Effective Java》一书的作者,并参与着作了《Java Puzzlers》。Doug Lea是《Concurrent Programming》一书的作者,纽约州立大学 Oswego分校的计算机科学教授。

⑸ 《java并发编程实战》和《java并发编程实践》哪个是传说中的那本...

def MergeSort(lists):
if len(lists) <= 1:
return lists
num = int( len(lists)/2 )
left = MergeSort(lists[:num])
right = MergeSort(lists[num:])
return Merge(left, right)
def Merge(left,right):
r, l=0, 0
result=[]
while l<len(left) and r<len(right):
if left[l] < right[r]:
result.append(left[l])
l += 1
else:
result.append(right[r])
r += 1
result += right[r:]
result+= left[l:]
return result
print MergeSort([1, 2, 3, 4, 5, 6, 7, 90, 21, 23, 45])

⑹ java并发编程实践中文版

已发,请查收。。。

⑺ java并发编程实战4-14的程序为什么非线程安全

就是抢占资源,就是一个资源可能同时被同一个线程抢占,所以是不安全的

⑻ 求java并发编程的实例 java多线程编程例子

不懂……如果你是用线程同时去添加多个用户,第一,人不是多线程的,你只能一个个去添加;第二,如果你想添加用户的时候还没有添加完成又做别的事情,完成可能用面向对象思想,程序一块块执行的,对于编人员来说不用考虑到多线程,程序本身已经完成了,比如我点击了添加用户的按钮,你的程序还可以往下跑,因为你仅仅是new了一个添加用户的窗口,主程序可以继续向下执行,除非你玩模态对话;第三,如果你非要多线程添加用户,就用简单的线程例子能解决啊,public void run(){}方法里写上添加用户的代码就行啦,主程序运行时new 你写好的线程类(YouThread implements Runnable{public void run(...)}),启动它(new Thread(new YouThread()).start());之后写上自己要继续执行的代码

阅读全文

与java并发编程小例子相关的资料

热点内容
优信二手车解压后过户 浏览:61
Windows常用c编译器 浏览:778
关于改善国家网络安全的行政命令 浏览:833
安卓如何下载网易荒野pc服 浏览:654
javainetaddress 浏览:104
苹果4s固件下载完了怎么解压 浏览:1002
命令zpa 浏览:285
python编译器小程序 浏览:944
在app上看视频怎么光线调暗 浏览:540
可以中文解压的解压软件 浏览:592
安卓卸载组件应用怎么安装 浏览:913
使用面向对象编程的方式 浏览:339
程序员项目经理的年终总结范文 浏览:929
内衣的加密设计用来干嘛的 浏览:432
淮安数据加密 浏览:292
魔高一丈指标源码 浏览:982
松下php研究所 浏览:168
c回调java 浏览:399
梦幻端游长安地图互通源码 浏览:745
电脑本地文件如何上传服务器 浏览:313