首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java的目标是“线程化”

Java的目标是“线程化”
EN

Stack Overflow用户
提问于 2011-11-20 09:25:46
回答 4查看 196关注 0票数 0

我需要帮助来理解java中的线程。

线程是程序中的执行线程。Java虚拟机允许应用程序并发运行多个执行线程。

当我们说Java的目标是“线程”时,这是什么意思?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-20 09:36:26

线程是一种在语言中实现并发的流行方法。爪哇有他们。这就是它的意思。

票数 2
EN

Stack Overflow用户

发布于 2011-11-20 09:32:11

这意味着可以并且应该同时执行各种操作。这可以通过使用线程来实现。您可以使用“低级”线程API (线程,Runnable),也可以使用更高级别的API (定时器、执行器)。

我希望这足以开始搜索和学习。我建议您从低级别的线程API开始,了解如何处理线程和同步。然后继续学习Java1.5中引入的并发包的工具。不要从更高级别的API开始。当你向执行者提交任务时,你需要更低的水平来理解场景背后发生的事情。

票数 3
EN

Stack Overflow用户

发布于 2011-11-20 09:49:08

,当我们说Java的目标是‘线程’时,我们的意思是什么?

实际上,我们并没有这么说,因为调用运行时环境“线程”意味着一些完全不同的东西;请参见http://en.wikipedia.org/wiki/Threaded_code。(请注意,该页面要注意区分“线程”和“多线程”!)

实际上,我们将Java描述为一种支持“多线程”编程的语言。你问题中的引语是对这意味着什么的简明描述。下面是一个更长的描述。

程序通常按顺序执行语句。例如:

代码语言:javascript
运行
复制
  int i = 1;
  i = i + j;
  if (i < 10) {
      ...
  }

在上述情况下,语句依次执行。

控制语句执行的东西称为“控制线程”或(更常见的)线程。您可以将其看作是一个自动机,它一个接一个地执行语句,并且一次只能执行一个语句。它记录局部变量的状态和过程调用。(它通常使用堆栈和一组私有寄存器来完成此操作.但这是一个实现细节。)

在多线程程序中,可能有许多这样的自动程序,每个自动程序都执行不同的语句序列(使用自己的堆栈和寄存器)。每个线程都可以与其他线程进行通信(通过观察共享对象等),并且可以通过各种was和各种原因与它们同步。

根据硬件(和操作系统)的不同,线程可以全部运行在同一个处理器上,也可以(在不同的时间)运行在不同的处理器上。这通常是两者的结合,通常由操作系统来决定哪些线程可以运行。(这由线程调度程序处理。)

从Java的角度来看,多线程编程是使用Thread类、synchronized方法和块以及Object级别的waitnotify方法在低级实现的。高级API为解决常见问题提供了标准的构建块。

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

https://stackoverflow.com/questions/8200598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档