A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

假如我现在有10条数据,每次向容器中放入2条,这个放的操作每次的时间间隔是60毫秒,这个操作该怎么用线程来表示呢???


该贴已经同步到 保持常态0616的微博

4 个回复

倒序浏览
你可以看看张老师的那个视频线程的有讲到
回复 使用道具 举报
Executors.newScheduledThreadPool(1).scheduleAtFixedRate(
                                new Runnable(){
                                        public void run(){
                                        该线程实现放2个数据的功能。       
                                        }
                                },
                                0,
                                60,
                                TimeUnit.SECONDS);
回复 使用道具 举报
public class ThreadDemo3 {

        public static void main(String[] args) {
                final int index = 10;
                final String[] strs = new String[10];
                for (int i = 0; i < index; i++) {
                        strs[i] = i + "  data  ";
                }
                final Timer timer = new Timer();
                TimerTask task=new TimerTask() {
                        int i=0;
                        public void run() {                               
                                for (int j = 0; j < 2; j++) {
                                        System.out.println(strs[i]);
                                        i++;
                                        if(i==index)
                                                timer.cancel();
                                }
                                System.out.println("--------------");
                        }
                };
                timer.scheduleAtFixedRate(task, 500, 2000);
       

        }
}
回复 使用道具 举报
刚才写错了,没有用容器
  1. public static void main(String[] args) {
  2.                 final int index = 10;
  3.                 final String[] strs = new String[10];
  4.                 for (int i = 0; i < index; i++) {
  5.                         strs[i] = i + "  data  ";
  6.                 }
  7.                 final ArrayList<String> al=new ArrayList<String>();
  8.                 final Timer timer = new Timer();
  9.                 TimerTask task=new TimerTask() {
  10.                         int i=0;
  11.                         public void run() {                               
  12.                                 for (int j = 0; j < 2; j++) {
  13.                                         System.out.println(strs[i]);
  14.                                         al.add(strs[i]);
  15.                                         i++;
  16.                                         if(i==index)
  17.                                                 timer.cancel();
  18.                                 }
  19.                                 System.out.println("--------------");
  20.                         }
  21.                 };
  22.                 timer.scheduleAtFixedRate(task, 0, 60);
  23.                 try {
  24.                         Thread.sleep(5000);
  25.                 } catch (InterruptedException e) {
  26.                         e.printStackTrace();
  27.                 }
  28.                 Iterator<String> als=al.iterator();
  29.                 while(als.hasNext()){
  30.                         System.out.println(als.next());
  31.                 }
  32.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马