java里,如何保证高并发下的数据安全?

primer_of_java 2009-02-19 04:34:59
1.java里,如何保证高并发下的数据安全,比如电信项目


2.比如一个电信项目中,其他子模块都能很快完成业务逻辑,但到了一个核心的模块时,要用相对于前面几个模块更多的时间来处理业务逻辑,那么,所有的模块都会在该模块"排队",如何解决排队(类似于crm 的卡单)

...全文
471 点赞 收藏 7
写回复
7 条回复
primer_of_java 2009年05月05日
这个问题其实是我面试遇到的问题,现在已经在那家公司了工作了.
根据我对项目的逐步熟悉,公司好像是通过集群实现的,具体的还不清楚,有待继续研究啊

把要处理的数据分成10个文件,然后启10个进程去处理,如果还不行,再在进程里分批次,每次一部分
回复 点赞
palm_civet 2009年03月16日
[Quote=引用 4 楼 primer_of_java 的回复:]
问题2中应该是:

所有的线程都会在该模块"排队",如何解决排队(类似于crm 的卡单)
[/Quote]

难道你的核心模块不支持多线程使用?应该不是吧

看一下
http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ThreadPoolExecutor.html
上面的说明很详细了

做个线程池,控制同时并发处理的线程数就可以了


[Quote=引用 3 楼 palm_civet 的回复:]
没有说清楚,不知道你要实现怎么样的功能。

如果你要简单的实现一个等待队列的话可以使用LinkedBlockingDeque或者用一个有长度限制的队列,速度比较慢的地方可以使用ThreadPoolExecutor。

如果你前面几个速度比较快的模块是并发实现的话可以使用latch或者barrier

jdk 5或者以上版本可以使用java.util.concurrent
jdk 1.4可以使用backport concurrent util实现
[/Quote]
回复 点赞
Arc365 2009年03月16日
试试写个队列,需要保持同步
回复 点赞
primer_of_java 2009年03月16日
问题2中应该是:

所有的线程都会在该模块"排队",如何解决排队(类似于crm 的卡单)
回复 点赞
palm_civet 2009年02月22日
没有说清楚,不知道你要实现怎么样的功能。

如果你要简单的实现一个等待队列的话可以使用LinkedBlockingDeque或者用一个有长度限制的队列,速度比较慢的地方可以使用ThreadPoolExecutor。

如果你前面几个速度比较快的模块是并发实现的话可以使用latch或者barrier

jdk 5或者以上版本可以使用java.util.concurrent
jdk 1.4可以使用backport concurrent util实现
回复 点赞
primer_of_java 2009年02月22日
高手些喃,都被无尽的代码灭了么 ?
回复 点赞
zoutuo 2009年02月19日
关注中……
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告