gpt4 book ai didi

java - 进程和线程的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:53 26 4
gpt4 key购买 nike

今天面试的时候有人问了我一个问题。首先他们问如何提供同步线程之间。然后他们问怎么提供进程间的Synchronization,因为我告诉他们,每个进程里面的变量是不能和其他进程共享的,所以他们让我解释一下两个进程之间如何通信,如何提供Synchronization它们之间,以及在哪里声明共享变量?现在面试结束了,但我想知道答案,谁能解释一下?谢谢。

最佳答案

我认为面试官可能没有使用正确的术语。进程在其自己的空间中运行,并且已在单独的答案中提到,您必须使用特定于操作系统的机制在进程之间进行通信。这称为进程间通信的 IPC。

使用套接字是一种常见的做法,但可能效率极低,具体取决于您的应用程序。但如果使用纯 Java,这可能是唯一的选择,因为普遍支持套接字。

共享内存是另一种技术,但它是特定于操作系统的,需要特定于操作系统的调用。您将不得不为 Java 应用程序使用 JNI 之类的东西来访问共享内存服务。共享内存访问不同步,因此您可能必须使用信号量来同步多个进程之间的访问。

类 Unix 系统提供多种 IPC 机制,使用哪一种取决于您的应用程序的性质。共享内存可能是一种有限的资源,因此它可能不是最好的方法。谷歌搜索这个主题提供了大量的点击,提供了关于技术细节的有用信息。

关于java - 进程和线程的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5749577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com