请
登录
后使用快捷导航
没有帐号?
注册
登录
注册
快捷导航
首页
论坛
BBS
博客
技术栈
ITPUB学院
名人堂
版主团
搜索
高级搜索
热搜:
oracle
SAP
sap
二维码
dba
Oracle
c++
C++
CRM
银联信息中心
比特币
小额贷款
贷款
crm
ORACLE
项目管理系统
thread
android
python
java
本版
文章
帖子
用户
ITPUB论坛-专业的IT技术社区
»
论坛
›
≡ 开发技术 ≡
›
Java企业开发
›
相对Vector,ArrayList在什么的情况下会因异步出现问题?
1
2
/ 2 页
返回列表
楼主:
vzh818
收藏
|
[原创]
相对Vector,ArrayList在什么的情况下会因异步出现问题?
[复制链接]
vzh818
vzh818
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
1
11
#
楼主
|
发表于 2008-9-24 16:06
|
只看该作者
web程序,其实每个请求都是一个线程!
要的就是这句话,至此,结帖!
谢谢各位!
使用道具
举报
回复
显身卡
vzh818
vzh818
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
1
12
#
楼主
|
发表于 2008-9-26 10:18
|
只看该作者
不能结,继续!!!
“每个请求就是一个线程,多个用户同时请求就是多线程了,同样在web中需要注意线程安全。”
还是根据题目实际情况来分析,多个用户同时执行提交功能,那就是多线程操作!
而程序中是把数据库中的数据读取后add至arraylist变量中,那么多个线程的请求会同时add至arraylist变量,这样数据就会大于实际读取的数据!??
可我同时点击的时候,Excel导出的数据依然正确,这就是我不解的地方。
ps:同时点击,会有一个时间差,假设1s。但数据量大,程序执行需要数秒,所以这个时间差不会影响“模拟多线程”。
还请大师再赐教。
使用道具
举报
回复
显身卡
vzh818
vzh818
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
1
13
#
楼主
|
发表于 2008-9-26 10:23
|
只看该作者
先自己回答:
如果每次请求都是实例化arraylist,单独给其分配内存空间。那即使多用户同时操作,arraylist在add的时候,就不会出现安全问题!??
使用道具
举报
回复
显身卡
vzh818
vzh818
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
1
14
#
楼主
|
发表于 2008-9-26 10:38
|
只看该作者
List content = new Vector();//在这里实例化,每次分配新的内存空间。所以不管是vector还是arraylist都不会引起安全问题???
List rowContent = null;
for (int n = 0; n < mpmsOrdersInfoList.size(); n++){
rowId ++;
//设置内容
rowContent = new Vector();
/** 组织订单信息 start */
MpmsOrdersInfo ordersI = (MpmsOrdersInfo)mpmsOrdersInfoList.get(n);
// 取出集合数据放入数组中
String[] labelContent = this.getLableContent(ordersI, radioValue);
int allColumn = rowOneLine.size();
//遍历订单信息写入Excel中
int lableContentLength = labelContent.length;
for (int i = 0; i < lableContentLength; i++) {
if (i == 0) {
rowContent.add("" + (n+1));
}
rowContent.add(labelContent[i]);
}
//填充空格
for (int i = 0; i < allColumn - lableContentLength-1; i++) {
rowContent.add(null);
}
content.add(rowContent);
/** 组织订单信息 end */
/** 组织订单详细信息 start */
MpmsOrdersInfo orderInfo = mpmsOrderBO.getMpmsOrdersInfo(ordersI.getOrderId());
orderInfo.getCiUserInfo();
//组织订单内容列表
Set contentSet = orderInfo.getMpmsStockRelations();
List contentList = new Vector();
Iterator contentIt = contentSet.iterator();
while(contentIt.hasNext()){
contentList.add((MpmsStockRelation)contentIt.next());
}
for (int ci = 0; ci < contentList.size(); ci++){
rowContent = new Vector();
MpmsStockRelation mpmsStockRelation=(MpmsStockRelation)contentList.get(ci);
//取出订单详细信息数据放入数组中
String[] orderInfoContent = getOrderInfoContent(mpmsStockRelation);
//填充空格
for (int j = 0; j < lableContentLength + 1; j++) {
rowContent.add(null);
}
//遍历订单详细信息
for (int oi = 0; oi < orderInfoContent.length; oi++) {
if (oi == 0) {
rowContent.add("" + (ci+1));
}
rowContent.add(orderInfoContent[oi]);
}
content.add(rowContent);
}
/** 组织订单详细信息 end */
复制代码
使用道具
举报
回复
显身卡
antonyx
antonyx
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
5
15
#
发表于 2008-9-26 14:34
|
只看该作者
如果没有2个线程同时操作一个List对象,就别用Vector()。
每个用户的请求是多线程,没错,但每个线程都会是操作新的对象吧,你如果都操作同一个static的List
,用ArrayList()的话就会,可能,有问题,不过这种脑残做法一般没有。
使用道具
举报
回复
显身卡
dhspecter
dhspecter
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
0
16
#
发表于 2008-9-26 16:08
|
只看该作者
应该不是并发的吧.
使用道具
举报
回复
显身卡
pete8735ptt123
pete8735ptt123
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
1
17
#
发表于 2008-9-28 11:13
|
只看该作者
名牌大厂出品4.3寸导航仪只要680元
联系QQ1:337302151 联系QQ2:337155327(正常上班时间均在线)
为您省油,为您省钱,为您省时间,从此不走冤枉路!现在这一切让我们的GPS来为您搞定!
深圳一线大厂生产,该厂为国内乃至全球最大的GPS生产商之一,是众多名牌导航仪OEM生产商,同样的外观,同样的用料,同样的质量,同样的服务,我们现在的价格仅为名牌机价格的1/3。产品为中性礼盒包装,但产品用料和质量绝对和名牌机一样,绝非山寨机可比。送人或者自用都是不错的选择。
我们是该公司产品的主要代理商,由于省却了中间渠道费用、市场推广费用以及软件授权费用,所以我们能以更低的价格回馈消费者。
售后服务:质量问题7天包退,3个月包换,一年免费保修,终生维修!使用不满意,7天内免费退货!(须外观无损伤划痕,配件齐全不影响第二次销售)
免费安装各种最新地图,地图版本目前最新,为08年5月地图,基本做到实时更新,包含最新的杭州弯大桥地图。终身免费提供地图升级服务。365天天天提供技术支持。包您学会操作方法!
丰富的功能;包含GPS导航功能、预警测速功能、FM音乐发射功能、MP3 MP4影音功能、PDA功能等
高端机则带:蓝牙电话免提功能、AV倒车影像功能、无线AV倒车影像功能等
可选配1G 2G 4G名牌 SD卡
*系统平台:Microsoft Widows CE.NET 4.2
*处理器:400MHz主频
*内存:64MB SDRAM & 64MB Flash
*GPS模块:高灵敏度SIRF III接收技术,快速准确定位
*GPS导航:通过SD卡装入电子地图导航软件实现卫星定位导航功能,真人语音发声
*音频播放:支持WMA,MP3格式的音频播放,支持喇叭、耳机播放两种方式,支持顺序播放、随机播放、循环播放
*视频播放:支持WMV,ASF和AVI文件格式的MP4播放,480x 272像素
*FM发射:通过FM发射功能,可使您通过汽车音响享受音乐及语音导航
*图片浏览:支持JPG、BMP格式的图片浏览
*电子书阅读:支持txt格式的电子文本阅读,支持电子书功能下多任务操作,如同时播放音乐等
*计算器:自带普通计算器和科学计算器,方便应用
*游戏:俄罗斯方块,扫雷,贪吃蛇,连连看,中国象棋
*系统设置:支持多国语言设置,时间设置,声音设置,背光设置电源设置,文件管理,坐标调整,系统升级,系统资源
*外壳结构:金属烤漆,不锈钢包边
*电池:内置 1200mAh锂离子充电电池,充满电后可使用3-3.5小时
*无线倒车后视:配广角摄像头,可以无线传上倒车图像在GPS上显示,让您开车更轻松更自如,是您开车的好助手(部分机型)
*AV-IN输入:支持AV-IN输入功能,界面可自动切换(部分机型)
*蓝牙功能:支持蓝牙功能,驾车通话两不误(部分机型)
*配件:电源适配器、USB连接线、(随机附送耳机、车载电源适配器、车载固定架)
*LCD显示屏:4.3”, TFT LCD,480x272分辨率,160000色,触摸屏
*外形尺寸:120*80*21mm
联系QQ1:337302151 联系QQ2:337155327(正常上班时间均在线)
很酷的开机界面
主界面
还是主界面
设置界面
游戏界面
蓝牙界面
h=还是蓝牙界面
FM音频发射,可以将音乐或者导航声音从主音响输出
导航界面(地图随你选)
导航地图
导航地图
杭州湾大桥
测速提醒,不怕罚单漫天飞了
精美的包装盒
使用道具
举报
回复
显身卡
dingjun123
dingjun123
当前离线
积分
5101
IP卡
狗仔卡
论坛徽章:
1088
18
#
发表于 2008-9-28 11:14
|
只看该作者
原帖由
justforregister
于 2008-9-23 12:15 发表
那你到底懂不懂多线程呢?
考虑并发,是对同一个对象进行同时操作,web你每个请求都是对新对象操作了,都不存在什么并发问题了,虽说是多线程,但是你完全没有必要考虑这么多啊!
使用道具
举报
回复
显身卡
vzh818
vzh818
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
1
19
#
楼主
|
发表于 2008-10-6 12:42
|
只看该作者
感谢各位的分享、交流!
谢谢!!
至此,可基本结帖。
使用道具
举报
回复
显身卡
1
2
/ 2 页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
TOP
技术积分榜
社区积分榜
徽章
团队
统计
知识索引树
积分竞拍
文本模式
帮助
ITPUB首页
|
ITPUB论坛
|
数据库技术
|
企业信息化
|
开发技术
|
微软技术
|
软件工程与项目管理
|
IBM技术园地
|
行业纵向讨论
|
IT招聘
|
IT文档
ChinaUnix
|
ChinaUnix博客
|
ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有
联系我们
未成年人举报专区
京ICP备16024965号-8
北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
快速回复
返回顶部
返回列表