理解Java中多线程的简单任务
关于java中的线程,我有几个问题 为了更好地理解,我尝试用线程解决一些简单的任务。我有一个方法,它获取一个理解Java中多线程的简单任务,java,multithreading,Java,Multithreading,关于java中的线程,我有几个问题 为了更好地理解,我尝试用线程解决一些简单的任务。我有一个方法,它获取一个int值和一个intt计数,并返回一个长结果。它应该做的只是计数,从一开始,然后将每一个添加到结果中。现在,tCount变量告诉我应该用多少线程来完成。例如: myMethod(10,1)应在单个线程中计算:1+2+3+4+5+6+7+8+9+10,并返回长结果 myMethod(10,2)应该计算相同的值,但可以这样说: thread1计算1+3+5+7+9 thread2计算2+4+
int值
和一个intt计数
,并返回一个长结果
。它应该做的只是计数,从一开始,然后将每一个添加到结果中。现在,tCount
变量告诉我应该用多少线程来完成。例如:
myMethod(10,1)
应在单个线程中计算:1+2+3+4+5+6+7+8+9+10
,并返回长结果
myMethod(10,2)
应该计算相同的值,但可以这样说:
thread1
计算1+3+5+7+9
thread2
计算2+4+6+8+10
最后,应将这两个结果添加到长结果
,并返回结果
当我尝试实现它时,我有不同的方法。例如,匿名类(总是有变量的问题,这些变量应该是有效的最终变量),但没有任何东西可以工作
你的想法是什么
- 创建额外的
类
扩展线程
或实现可运行
- 您将如何创建为您的方法提供的线程数量
- 您将在哪里实现哪个变量,以便在需要时访问它
- 那么线程管理呢?不同线程不应同时使用变量结果,对吗
非常感谢 您可以创建两个线程,其中一个线程执行并进入等待状态,然后唤醒另一个线程,另一个线程在执行后进入等待状态,然后唤醒另一个线程。像这样交替执行。我想到的第一件事是CompletableFuture
s。您可以阅读它们。请发布一些您尝试过的代码。扩展线程
与实现可运行
是一个在本网站上被多次询问和回答的问题。使用搜索功能查找答案。Re“您将在哪里实现哪个变量,以便在需要时访问它?”如果您需要帮助,那么我建议您在深入学习线程之前,花更多时间学习Java语言和面向对象设计。线程是一个具有挑战性的课题。在用您不完全理解的语言编写代码时,试图理解线程并没有任何意义。