Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java线程数组

Java线程数组
EN

Stack Overflow用户
提问于 2013-05-22 13:36:28
回答 2查看 969关注 0票数 1

我有一个n个线程数组,每个线程都有一个1到100的数字。

对于每次迭代,所有线程都需要检查它们的邻居。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
For thread i 

IF    thread[i].number > thread[i+1].number 
AND   thread[i].number > thread[i-1].number 
THEN  thread[i].number--

IF    thread[i].number < thread[i+1].number 
AND   thread[i].number < thread[i-1].number 
THEN  thread[i].number++

否则就没什么变化了。

当然,在所有线程都完成检查之前,不会进行任何更改。

我的问题是,如果我是一列名单中的一条线,我怎么看我的邻居?

我想到了以下几点:

  1. 对于每个线程,检查邻居。
  2. 每个线程将持有一个int字段,并相应地更改它,0表示不变,1表示inc,2表示12月。
  3. 通过缓冲区(计数器)进行同步,以计数所有线程并确保每个线程都已完成。
  4. 适用于公司,12月或无更改。

你认为如何?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-22 13:45:12

我想说的是,您应该使用一个CyclicBarrier来让所有线程彼此等待。除此之外,要检查它们的邻居,只需在构造时为每个线程提供其在列表中的索引,以及列表本身,以便每个线程都可以查找其邻居的值。

尽管如此,我不知道目标是什么,但是一个线程在数组中循环可能会更简单、更快。

票数 0
EN

Stack Overflow用户

发布于 2013-05-22 14:29:28

使用ArrayList,您可以使用get(i)获取特定的索引。使用get(i+1)和get(i-1)就可以了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16701974

复制
相关文章
多线程循环打印数组 -- Java笔记
1.使用 import java.util.concurrent.locks.LockSupport;
WeiMLing
2020/10/10
8110
多线程循环打印数组 -- Java笔记
java数组反转,Java数组反转
本篇文章帮大家学习java数组反转,包含了Java数组反转使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。
全栈程序员站长
2022/08/30
2.5K0
Swift 线程安全数组
有并发的地方就存在线程安全问题,尤其是对于 Swift 这种还没有内置并发支持的语言来说线程安全问题更为突出。下面我们通过常见的数组操作来分析其中存在的线程问题,以及如何实现一个线程安全数组。 问题所
BigNerdCoding
2017/12/05
2.1K0
java 数组转换_java数组转json
在开发中,我们有时候会需要将数组转换为集合List,这时候可能会想到Arrays.asList(),毕竟它是java提供的,肯定专业。。。吗?
全栈程序员站长
2022/09/28
3.2K0
Java数组循环_java遍历object数组
三维数组:int[][][]arr = { { {1,2},{3,4,5},{6}},{ {7,8},{9}},{ {10,11},{12,13}}}
全栈程序员站长
2022/11/04
2.7K0
线程与Java线程
对于程序的运行过程,操作系统中最重要的两个概念是进程和CPU,进程就是运行程序的一个抽象,CPU主要工作就是对进程的调度。需要理解的是,一个CPU在一个瞬间,只能执行一个进程,通常这个时间片段是几十毫秒或几百毫秒,但对于用户来讲,就像多个程序同时运行,这就是伪并行(对于一个CPU来讲)。进程包含几乎程序运行的所需要的所有信息,包括程序计数器、堆栈指针、程序对应地址空间(存放可执行程序、程序的数据、程序的堆栈等)的读写操作以及其他资源的信息。进程的执行有三个状态:正在运行的进程是运行态,还包括就绪态(可运行,CPU正在执行别的进程)、阻塞态(等待某个资源或某个事件发生之前的进程的状态)。三种状态的切换如下图所示:
搬砖俱乐部
2019/06/15
1.7K0
【Java】线程、线程安全、线程状态
昨天的时候我们已经写过一版多线程的代码,很多同学对原理不是很清楚,那么我们今天先画个多
陶然同学
2023/02/27
1.8K0
【Java】线程、线程安全、线程状态
Java数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
用户5224393
2019/08/20
1.6K0
Java数组
Java数组
i变量为ars数组的下标 初始值为0 是ars数组的第一个元素 j变量为result数组的下标 初始值result数组长度为4 是result数组的最后一个元素 i变量的更新方式是自增 j变量的更新方式是自减
全栈程序员站长
2022/09/07
1.9K0
Java数组
Java数组
ava中的数组是一种用于存储相同数据类型元素的数据结构。数组在Java中属于对象,因此我们可以创建一个数组对象,对其进行操作和使用。
玖叁叁
2023/05/06
2.2K1
Java数组
使用sort()方法对Java数组进行排序 使用 binarySearch() 方法来查找数组中的元素的位置。 (Arrays.binarySearch方法使用前,需要对数组排序,才能定位值插入位置,因为binarySearch采用二分搜索法)
李玺
2021/11/22
1.1K0
Java 数组
数组是一种数据结构,可以存储多个相同类型的元素;在Java中,数组是一种对象,它可以存储基本数据类型和对象类型。
久绊A
2023/03/24
1.2K0
JAVA 线程
//Executors 工具类 //ExecutorService 接口 ExecutorService service = Executors.newFixedThreadPool(10); ThreadPoolExecutor executor = (ThreadPoolExecutor)service; executor.setxxx() //设置参数 service.execute(Runnable); service.submit(Callable); service.shutdown();
Dean0731
2020/05/11
1K0
java线程
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
conanma
2021/12/06
1.1K0
java线程
  从操作系统的角度,可以简单认为,线程是系统调度的最小单元,一个进程可以包含多个线程,作为任务的真正运作者,有自己的栈(Stack)、寄存器(Register)、本地存储(Thread Local)等,但是会和进程内其他线程共享文件描述符、虚拟地址空间等。   具体实现中,线程还分为内核线程、用户线程,Java 的线程实现其实是与虚拟机相关的。对于我们最熟悉的 Sun/Oracle JDK,其线程也经历了一个演进过程,基本上在 Java 1.2 之后,JDK 已经抛弃用户调度的线程,现在的模型是一对一映射到操作系统内核线程。
良辰美景TT
2018/09/11
1.1K0
java线程
Java 数组及多维数组
注意一点,数组每行可以不等长 可以两种写法,直接枚举初始化,或者new type [len1][len2]... import java.util.Arrays; public class Myarray { public static void main(String[] args) { // 一维数组声明 int arr1 [] = new int[3]; int [] arr2 = {4,5,6}; a
Michael阿明
2021/09/06
2.1K0
java数组定义长度_JAVA数组的定义
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139665.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
4.1K0
java数组如何赋值_java数组如何赋值
Java 语言中数组必须先初始化,然后才可以使用。所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。
全栈程序员站长
2022/09/13
4.1K0
java数组如何赋值_java数组如何赋值
java输入数组元素_java数组的输出
Java中快捷输出数组中各个元素笔者目前所知的就三种方法,今天就简单的做个记录。大家如果有什么更好的方法,麻烦留言评论。
全栈程序员站长
2022/09/27
2.8K0
java线程
1.继承Thread类,重写THread类中的run()方法,直接创建线程; 2.实现Runnable接口,再通过Thread类和Runnable的实现类间接创建一个线程; 3.第三种方式是使用Callable和Future接口创建线程
德勒
2021/04/15
9240
java线程

相似问题

线程数组Java矩阵

11

java中的线程数组

32

数组访问子线程java

15

Java线程启动其他线程,每个线程都写入数组

15

线程数组(java)的最佳实践

512
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文