首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 多线程处理ArrayList???? [已结贴,结贴人:runzqzq]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • runzqzq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-24 13:53:39 楼主
    有个ArrayList对象里面有许多需要处理的对象,原来的做法是把arraylist.iterator(),
    然后while(iterator.hasNext())来处理,但是这样是单线程的,后面的会等待前面做完之后才会被做。

    现在想启动几个线程,同时来处理ArrayList里面的对象,比如ArrayList10个对象


    第一时刻
    线程1--取ArrayList里面位置在0的对象--处理
    线程2--取ArrayList里面位置在1的对象--处理
    线程3--取ArrayList里面位置在3的对象--处理

    第二时刻,线程工作坐完后去取下一个对象:
    线程2--取ArrayList里面位置在4的对象--处理
    线程1--取ArrayList里面位置在5的对象--处理
    线程3--取ArrayList里面位置在6的对象--处理

    请问各位怎么弄啊?
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • l_wenb
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 13:56:121楼 得分:10
    帮顶!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bloodrate
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 14:14:032楼 得分:10
    List l = Collections.Synchronized(new ArrayList);

    可以么?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wolfgang_l
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 14:15:353楼 得分:10
    引用 1 楼 l_wenb 的回复:
    帮顶!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • palm_civet
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 14:17:024楼 得分:10
    引用 2 楼 bloodrate 的回复:
    List l = Collections.Synchronized(new ArrayList);

    可以么?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xblue3
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 15:00:535楼 得分:50
    List l = new ArrayList();

    Synchronized{//将代码块同步
    线程处理代码
    for(string i:l){
    this.delete(i);//取出对象i,删除这个元素,
    //l.remove(i);
    this.process(i)//处理方法,不用同步
    }
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • gejixin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 15:10:116楼 得分:10
    可以用线程安全的集合类,如vector就是线程安全的阿
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • runzqzq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 10:12:517楼 得分:0
    已解决,其实也很简单
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved