关于Java并行程序

因为某种需要,要编写类似于C++OpenMP的Java多线程程序。但是,由于对Java编程不熟悉。对于Java多线程编程,有大概4-5中实现方法。我采用的是Executor框架和线程池。

具体内容见链接

http://blog.csdn.net/ns_code/article/details/17465497

时间: 2024-08-11 18:21:37

关于Java并行程序的相关文章

JAVA并行程序基础

JAVA并行程序基础 一.有关线程你必须知道的事 进程与线程 在等待面向线程设计的计算机结构中,进程是线程的容器.我们都知道,程序是对于指令.数据及其组织形式的描述,而进程是程序的实体. 线程是轻量级的进程,是程序执行的最小单位.(PS:使用多线程去进行并发程序的设计,是因为线程间的调度和切换成本远小于进程) 线程的状态(Thread的State类): NEW–刚刚创建的线程,需要调用start()方法来执行线程: RUNNABLE–线程处于执行状态: BLOCKED–线程遇到synchroni

Java并行程序设计模式小结

转自:http://www.cnblogs.com/panfeng412/p/java-program-tuning-reading-notes-of-concurrent-program-design-pattern.html 这里总结几种常用的并行程序设计方法,其中部分文字源自<Java程序性能优化>一书中,还有部分文字属于个人总结,如有不对,请大家指出讨论. Future模式 一句话,将客户端请求的处理过程从同步改为异步,以便将客户端解放出来,在服务端程序处理期间可以去干点其他事情,最后

Java并行程序基础总结

1-1 线程概念 1. 同步(Synchronous)和异步(Asynchronous) 2. 并发和并行 3. 临界区 4. 阻塞与非阻塞 5. 死锁.饥饿.活锁 6. 并发级别:阻塞.无饥饿.无阻碍.无锁.无等待 7. 并发的两个重要定律:Amdahl.Gustafson定律 2-1.线程的基本操作 2.1 创建线程 创建线程的第一种方式:继承Thread类. 步骤: 1,定义类继承Thread. 2,复写Thread类中的run方法. 目的:将自定义代码存储在run方法.让线程运行. 3,

《Java程序性能优化》学习笔记 Ⅲ 并行程序优化

第四章 并行程序优化4.1 并行程序设计模式4.2 JDK多任务执行框架4.3 JDK并发数据结构4.4 并发控制方法4.5 锁的性能和优化4.6 无锁的并行计算 1.非阻塞同步避免了基于锁的同步的缺陷,无锁算法没有锁竞争带来的系统开销,也没有线程间频繁调度带来的开销.CAS算法:包含3个参数CAS(v,e,n).V表示要更新的变量,E表示预期值,N表示新值2.JDK的java.util.concurrent.atomic包下,有一组使用无锁算法实现的原子操作类,如AtomicInteger/A

Win7下搭建JAVA并行开发环境MPJ Express(PART1)

在Winindows 7 中快速搭建JAVA并行开发环境MPJ Express及其中可能遇到的各种问题解析(PART1) MPJ Express是一个线程安全的Java版本的并行消息传递库,它提供了mpiJava 1.2 API规范的完整实现.MPJ Express实现了MPJ库中的两种通信设备,第一种叫niodev,基于Java NIO包.第二种叫mxdev,基于Myrinet eXpress库. 基于这个消息库,用户即可使用JAVA作为编程语言来开发并行程序.特别是随着高性能平台的普及,面对

Win7下搭建JAVA并行开发环境MPJ Express(PART3)

在前面的两个PART中,我们分别搭建了并行开发环境,并小试牛刀实践了简单的并行开发. Win7下搭建JAVA并行开发环境MPJ Express(PART1) http://baimafujinji.blog.51cto.com/907111/1629153 Win7下搭建JAVA并行开发环境MPJ Express(PART2) http://baimafujinji.blog.51cto.com/907111/1629176 当然在这个过程中,出现这样或那样的问题是在所难免的,这一部分我们就来讨

Java冠军程序员告诉你如何提升技术

让我们跟着兄弟连JavaEE培训 导师,聊一聊--怎样成为冠军程序员 ? 我认为以下几点能力是非常有帮助的: 1.强大的记忆力.当 我上八年级的时候,全因那位死气沉沉的历史老师,让我自己都相信我的记忆力太差了.然而,令我惊讶的是,历经多年程序员的工作,我惊奇地发现自己对之前看过的 Java 源代码可以立即重现.在我阅读 JDK 里的一个方法(method)的时侯,我常常能说出该方法(method)相较先前版本有无改动.也许我并不能记清楚某个人的长相和名字,但是对于 Java 代码可以做到过目不忘

如何成为一名Java冠军程序员?

每一个稍微有点出息的人,都应该把行业里的前三名作为自己奋斗的目标和对手.你离成为冠军Java程序员还有多远,看完这篇你就知道了. 软件工程师的职业生涯里,知识有一个三年的半衰期.这意味着三年后,你所拥有的一半知识是毫无价值的.举这样一个例子,年纪越大,就越难看到有谁能够了解 TSR(内存驻留程序 Terminate-Stay-Resident ),而找到曾经写过一个 TSR的人更是如同大海捞针.在 DOS系统里,并不能让多个程序同时运行. 因此,在我们需要一个后台功能的时候,比如日历或计算器,我

2 java并行基础

我们认真研究如何才能构建一个正确.健壮并且高效的并行系统. 进程与线程 进程(Process):是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 进程是线程的容器.程序是指令.数据和其组织形式的描述,进程是程序的实体.进程中可以容纳若干个线程. 进程和线程的关系:线程就是轻量级的进程,是程序执行的最小单位.为什么我们使用多线程而不是多进程?因为线程间的切换调度成本远远小于进程,所以我们使用多线程而不是多进程. 线程的生命周期 线程的所有状