关于线程的问题 不会写 太纠结了

发布于 2021-11-07 06:26:40 字数 71 浏览 895 评论 4

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

蓝颜夕 2021-11-10 23:59:57

怎么觉得这个并非一个多线程的问题?

沙与沫 2021-11-10 14:30:33

向容器添加数据时 通过队列来实现即可。还可实现多线程同时添加时,仍然达到你的效果

坚持沉默 2021-11-08 21:28:14

是我说的那个东西( ⊙o⊙ )哇,老大速度真快( ⊙o⊙ )哇。我想了好久了,不知道该怎么写( ⊙o⊙ )哇。O(∩_∩)O谢谢

女中豪杰 2021-11-08 18:42:48

写了个,不知道是不是你想要的那个意思

package net.oschina.tester;

import java.util.*;

public class Test {

	public static void main(String[] args) {
		final List<Integer> src = new ArrayList<Integer>(){{//源容器
			for(int i=1;i<=10;i++)
				add(i);
		}};
		final List<Integer> dest = new ArrayList<Integer>();//目标容器
		
		new Thread(){
			int count_once = 2;//每次放2个元素
			int pos = 0;
			@Override
			public void run() {
				while(true){
					for(int i=0;i<count_once && pos<src.size();i++){
						dest.add(src.get(pos++));
					}
					//间隔时间60毫秒
					try {
						Thread.sleep(60);
					} catch (InterruptedException e) {
						break;
					}
					System.out.printf("pos=%dn",pos);
					if(pos >= src.size())
						break;
				}
			}
			
		}.start();
	}
	
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文