腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
2
回答
IPC的共享内存和线程的共享内存有什么不同?
linux
、
multithreading
、
ipc
、
shared-memory
让我们使用像shmget()这样的POSIX共享内存--这是一个协调进程间通信的公共调用。调用shmget()和协调共享内存段上的通信与Linux如何在单个进程中实现共享内存和线程之间的同步有什么不同。它们当中有没有更轻的?
浏览 4
提问于2012-11-12
得票数 4
回答已采纳
2
回答
具有共享只读内存的c++线程池
c++
、
multithreading
、
threadpool
我是C++并发编程的新手,我想编写一个基于线程池模式的服务器(在linux机器上),线程需要从共享内存读取(并且只读取)才能响应传入的请求 我很困惑:(我想知道当线程访问只读内存时,是否需要做些什么来同步它们,以及如何做到这一点(可能使用内存映射文件?)
浏览 0
提问于2012-10-25
得票数 5
回答已采纳
2
回答
POSIX中的共享内存是否受竞争条件的保护?
c
、
linux
、
posix
、
shared-memory
、
race-condition
我在Linux上运行了两个用C编写的进程,它们访问共享内存。这两个过程都有一些类似于 int shm_fd = shm_open(NAME, O_RDWR, 0666); ftruncate(shm_fd, sizeof(shm_data_struct)); struct shm_data_struct* shm_ptr = (struct shm_data_struct*)mmap(0, sizeof(struct shm_data_struct), PROT_WRITE, MAP_SHARED, shm_fd, 0); 这两个进程都可以在共享内存中从结构中读写。我的问题是: POSIX是否
浏览 10
提问于2022-08-23
得票数 0
回答已采纳
1
回答
线程堆栈是否来自Linux上进程的内存映射段?
linux
、
memory
、
multithreading
我目前正在学习Linux。我知道线程是Linux上的一种轻量级进程。但是我想知道线程堆栈空间来自哪里。 线程的堆栈是私有的。它独立于进程堆栈。根据我的搜索,有人说线程堆栈是由mmap()创建的。而且,也有人说mmap()空间不是heap。它介于堆栈和堆之间。因此,线程堆栈来自进程的内存映射段。对吗?
浏览 0
提问于2022-10-06
得票数 3
回答已采纳
4
回答
多线程和多任务
linux
你能告诉我多任务和多线程(Linux)有什么区别吗?
浏览 0
提问于2011-03-13
得票数 0
3
回答
不同的程序是从公共堆还是从单独的堆中获取内存?
linux
、
malloc
、
glibc
我有点困惑,linux上的glibc如何将其内存分配给各种program.These是几个问题: 它是从公共堆(即linux中的所有进程都有一个公共堆)分配的,还是为系统中的每个进程分配了一个堆。 另外,假设我正在编译一个静态库,它最终被静态地链接到主进程,它将如何获得它的内存?它是否已经链接到其他堆(就像我们已经编译过的那样),还是将从主进程的堆中获取内存。
浏览 3
提问于2011-08-31
得票数 9
回答已采纳
2
回答
如何获得线程的进程组组长
process
、
linux-kernel
在linux内核中,我们可以使用current->comm来获取当前运行的进程的名称。这会是正常进程下的线程吗?Linux有一个轻量级的进程概念,这意味着线程也是一个进程.
浏览 4
提问于2014-04-04
得票数 1
回答已采纳
2
回答
在linux上,在线程之间进行通信的最挑剔的方法是什么?
linux
、
multithreading
、
pthreads
我有一个p线程应用程序,我目前使用常规linux管道来通信,并向不同的线程发送消息。它的工作很好,并没有真的坏,但我有一种唠叨的感觉,它可以改进。 如果我想设计最小的延迟,那么最快的方法是什么呢?使用条件变量会比管道更快吗? 我需要传递少量的数据,作为一个带几个参数的独立的optcode。线程条件变量允许我在线程之间传递数据吗? 谢谢, -Andres
浏览 0
提问于2012-12-10
得票数 1
回答已采纳
16
回答
Linux中的线程与进程
linux
、
performance
、
multithreading
、
process
我最近听到一些人说,在Linux中,使用进程而不是线程几乎总是更好,因为Linux在处理进程方面非常有效,而且有太多与线程相关的问题(例如锁定)。然而,我对此表示怀疑,因为在某些情况下,线程似乎可以带来相当大的性能提升。 所以我的问题是,当面对线程和进程都可以很好地处理的情况时,我应该使用进程还是线程?例如,如果我正在编写一个web服务器,我应该使用进程还是线程(或两者的组合)?
浏览 3
提问于2009-04-30
得票数 275
2
回答
在共享内存文件上引发Linux轮询事件
linux
两个Linux进程打开并映射相同的/dev/shm/共享内存文件,并将其用作公共内存。问:让一个进程“唤醒”另一个进程以通知它应该查看内存的最简单、最好的方法是什么?例如,一个进程可以引发另一个进程的文件描述符的poll()事件吗?解决方案不需要是可移植的,但我希望它很简单。
浏览 4
提问于2012-07-13
得票数 13
2
回答
Linux中的“进程”、“线程”、“任务”和“作业”之间的区别和关系是什么?
linux
当我学习web后端编程时,我对Linux中使用的一些术语相当困惑。 在Linux中“进程”、“线程”、“任务”和“作业”之间的区别和关系是什么?
浏览 1
提问于2010-05-01
得票数 5
回答已采纳
1
回答
从内核模块到用户空间进程的共享内存
linux-kernel
、
ipc
、
shared-memory
、
kernel-module
、
sysv-ipc
我是linux内核模块开发中的新手,我正在寻找从内核模块到用户空间进程共享内存段,以避免复制数据的延迟。 我正在使用sys共享内存api,当我在两个进程之间共享内存时,它可以很好地工作,但是我不能在进程和内核模块之间共享内存。 bellow是我的内核模块和用户空间应用程序的代码。 服务器端:模块 #include <linux/module.h> // init_module, cleanup_module // #include <linux/kernel.h> // KERN_INFO // #include <linux/types.h> // uin
浏览 7
提问于2016-06-07
得票数 0
回答已采纳
4
回答
linux 4中的C++新操作符线程安全
c++
、
linux
、
gcc
、
thread-safety
不久,我将开始研究使用共享内存的网格细化算法的并行版本。 这所大学的一位教授指出,我们必须非常小心线程安全,因为编译器和stl都不知道线程。 我搜索了这个问题,答案取决于编译器(有些尝试稍微了解线程)和平台(如果编译器使用的系统调用是线程安全的还是不安全的)。 那么,在linux中,gcc 4编译器会为新操作符生成线程安全代码吗? 如果没有,克服这个问题的最好办法是什么?或者把每个电话都锁定到新接线员那里?
浏览 3
提问于2009-04-28
得票数 15
回答已采纳
1
回答
在linux中,哪些资源是共享的,哪些是在新进程和新线程创建期间创建的?
linux
、
multithreading
、
process
在linux中(1>resources进程)和(2>new线程)创建期间,什么(2>resources是新创建的)和什么(1>new是共享的)和(2>new线程)创建的?我搜索过它,但没有提到什么资源是新创建的,哪些资源是共享的。
浏览 3
提问于2016-03-13
得票数 2
2
回答
与网络/IO绑定应用程序的进程相比,在Linux上工作时线程限制是什么?
linux
、
multithreading
我听说,在多核服务器上的linux下,如果只有一个进程但有多个线程,就不可能达到最好的性能,因为Linux对IO有一些限制,因此在8核服务器上有8个线程的一个进程可能比8个进程慢。 有什么评论吗?是否还有其他限制可能使应用程序变慢?该应用程序是一个网络C++应用程序,服务于100多个客户端,带有一些磁盘IO。 更新:我担心除了我自己实现的锁定之外,还有更多与IO相关的问题。在多个线程中执行模拟的网络/磁盘IO没有任何问题吗?
浏览 5
提问于2010-08-31
得票数 30
回答已采纳
2
回答
从main返回的运行线程在C中会发生什么情况?
c
、
multithreading
、
pthreads
在linux (linux线程)上,当从main返回时(在线程完成之前),正在运行的线程会发生什么情况?当从main返回时,内存是dis分配的,因此线程应该访问未分配的内存。这会导致线程退出吗? 我肯定线程已经死了,,但是这是如何发生的,
浏览 1
提问于2014-05-22
得票数 1
回答已采纳
1
回答
我想问一下CreateThread和基于Linux操作系统的pthread_create之间的主要区别
c++
、
c
、
linux
、
windows
、
multithreading
我想用C/C++实现一个运行在Windows和Linux操作系统上的应用程序,这个应用程序将是多线程的,所以经过一些研究,我发现Windows和Linux分别有各自的库方法。 HANDLE CreateThread( // Windows LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, __drv_aliasesMem LPVOID lpParameter, DWORD
浏览 2
提问于2021-02-02
得票数 1
回答已采纳
1
回答
vfork导致内存"free()“崩溃,但实际上它是如何发生的呢?
c++
、
linux
、
crash
、
fork
、
vfork
我试图查看vfork是否创建了一个与父进程共享内存的子进程,如下所示: #include<stdio.h> #include<unistd.h> int main() { int* pi = new int(5); int i = 5; pid_t id = vfork(); if (id > 0) //father { *pi = 4; i = 4; printf("father set i=%d, *pi=%d\n", i, *pi); sl
浏览 5
提问于2017-01-02
得票数 1
回答已采纳
3
回答
是否所有类型的进程/线程间通信都需要系统调用?
linux
、
multithreading
、
system-calls
、
inter-process-communicat
在Linux中, 所有类型的进程间通信都需要系统调用吗? 进程间通信的类型如下 管道发出消息队列信号、信号量、共享内存套接字 所有类型的线程通信都需要系统调用吗? 我想知道是否所有进程间通信和线程间通信都涉及从用户模式切换到内核模式,以便操作系统内核运行来执行通信?由于系统调用都涉及这样的交换机,我问通信是否需要系统调用。 例如,“共享内存”既可用于进程间通信,也可用于线程间通信,但我不确定是否需要系统调用或操作系统内核参与才能接管cpu来执行某些操作。 谢谢。
浏览 10
提问于2015-02-07
得票数 3
3
回答
gnu/Linux上pthread和fork的区别
linux-kernel
、
pthreads
、
fork
pthread和fork w.r.t之间的基本区别是什么?linux在实现方面的差异以及调度如何变化(它会变化吗?) 我在两个类似的程序上运行strace,一个使用pthread,另一个使用fork,最后都使用不同的参数使clone() syscall,所以我猜这两个程序在linux系统上本质上是相同的,但pthread在代码中更容易处理。 有没有人能给出一个深入的解释? 编辑:另请参阅相关
浏览 0
提问于2011-04-01
得票数 44
回答已采纳
3
回答
JVM的内存占用是多少,如何将其最小化?
java
、
memory
、
jvm
、
memory-footprint
我只想知道当开始产生多个JVM进程时,JavaVM (Sun,Linux)的实际占用空间是多少。当我记得很清楚的时候,它们应该共享rt.jar (也许更远?)。这些JVM是否共享JIT缓存(所有JVM都具有相同的类路径)? 我能做些什么来减少多实例JVM的开销吗?(除了为堆设置更小的限制之外)? 在编写应用程序时,我可以做些什么? 我可以共享内存区域吗?也许可以共享映射的内存块?
浏览 3
提问于2016-07-24
得票数 10
2
回答
Boost::Thread or fork():多线程HTTP代理
c++
、
multithreading
、
boost
我正在系统上测试boost::thread。碰巧我需要充当fork(),因为一个线程修改其他变量,甚至类的成员变量 我是使用fork()来做这个项目的,还是仍然在使用boost::thread? 基本上,我在Linux和FreeBSD上运行这个程序。 它是一个http代理,主线程中的accept(),以及在辅助线程中接受类(其中有文件描述符套接字)的函数。 有没有更好的方法来实现代理?
浏览 2
提问于2010-03-27
得票数 1
3
回答
linux和c++中两个不同独立程序之间的共享内存页
c
、
linux
、
memory-management
、
cpu-architecture
、
cpu-cache
我从上读到了关于共享内存的文章。根据文档,两个不同的程序生成两个不同的虚拟地址,这些虚拟地址映射到RAM中相同的物理页面。 因此,当program1访问共享内存的数据时,它将从主存加载到缓存,下一次,program2/process2将从缓存中获取数据,从而降低了对程序2/process2相同数据的访问时间。 我用C语言成功地为IPC编写了一个程序,它使用共享内存在两个程序之间进行通信,并在一个程序中修改一个变量,然后从另一个程序中读取。 现在,我的问题如下: “共享内存”可以在两个独立程序之间自动创建吗?这意味着两个独立的程序(自动创建共享内存)或者通过操作系统创建共享内存,而不像IPC
浏览 7
提问于2014-01-29
得票数 2
1
回答
C Linux编程中的信号量
c
、
linux
、
centos
我将接管一些在Linux (Centos)中运行的C代码,并广泛使用信号量。代码的编写方式: ./方案1 这个程序启动了一组使用互斥和信号量的进程。 ./方案2 这个程序还启动了一组进程,这些进程使用互斥量和信号量。 我已经意识到,Program1和Program2使用了同名的信号量。在Linux编程中,不同的程序可以使用相同的信号量吗?我猜不是,但同样的名字把我搞糊涂了。他们使用相同的源代码来启动和处理信号量。 使用以下命令调用信号量: 我读过,这些都是进程信号量..。如果Program1创建了SEMAPHORE1,Program2可以访问SEMAPHORE1吗? 感谢您的帮助,谢谢!
浏览 4
提问于2014-06-26
得票数 1
回答已采纳
2
回答
Java的线程在linux上像进程一样工作吗?
java
、
linux
、
jetty
我已经启动了一个jetty服务器和一个ehcache实例,当我启动另一个jave进程时,很快就遇到了linux上的线程限制。 错误消息是unable to create new native thread (附注:我的linux操作系统是CentOS 6.2)。 然后我使用ps -xH了解到这两个java进程(jetty和ehcache)产生了近800个线程,ps -xH的总数为1023,ulimit -u显示为1024。 所以,我的问题是,为什么java会产生线程,而我却遇到了进程数量的限制? 附言:我有足够的内存
浏览 4
提问于2012-11-27
得票数 4
3
回答
pthread是如何工作的?
c
、
multithreading
、
pthreads
我在Java和C#的多线程编程方面很有经验,现在开始学习如何在Linux上用C实现多线程编程。我是在Linux的编程意义上“长大”的,所以我在很高的层次上理解了它的内存哲学、进程处理等。 我的问题不是如何进行线程化。我想知道pthread到底是怎么做到的。它是否会创建一个进程并以某种方式为您处理进程间通信?或者它只是管理地址空间?我想要细节:)谷歌搜索只产生了“如何做”的问题,而不是“它是如何工作的”。
浏览 1
提问于2011-02-01
得票数 22
回答已采纳
3
回答
Linux内核线程真的是内核进程吗?
linux
、
kernel
、
process
、
linux-kernel
、
thread
我在许多地方读到,Linux为Java中的每个用户线程创建了一个内核线程。(我看到“内核线程”一词有两种不同的用法: 为执行核心操作系统工作而创建的线程 操作系统知道并计划执行用户工作的线程。 我指的是后者。) 内核线程是否与内核进程相同,因为Linux进程支持父进程和子进程之间的共享内存空间,还是它确实是一个不同的实体?
浏览 0
提问于2012-02-13
得票数 29
回答已采纳
3
回答
实现比线程提供更好的隔离但性能相当的Linux并发原语是可行的吗?
linux
、
multithreading
、
concurrency
、
ipc
考虑以下应用:一个web搜索服务器,它在启动时基于从磁盘读取的数据创建一个大的网页内存索引。一旦初始化,内存中的索引就不能被修改,并且启动多个线程来为用户查询服务。假设服务器被编译为本机代码并使用OS线程。 现在,线程模型不提供线程之间的隔离。有错误的线程或任何非线程安全代码可能会破坏由其他线程分配并在逻辑上属于某个线程的索引或内存。这样的问题很难检测和调试。 从理论上讲,Linux允许实施更好的隔离。一旦索引被初始化,它占用的内存就可以被标记为只读。线程可以替换为共享索引(共享内存)的进程,但其他进程具有单独的堆,不能相互损坏。硬件和操作系统会自动检测到非法操作。不需要互斥或其他同步原语。完
浏览 1
提问于2012-09-06
得票数 6
回答已采纳
1
回答
理解Java的内存使用情况(JIRA/Tomcat)
linux
、
java
、
memory
我有一个CentOS虚拟化服务器,我刚刚安装了Jira。当Jira运行时,我很难理解Sun是怎么回事。Java的最大堆大小设置为384 up,但Java实例占用的内存远远超过1GB。 我对linux管理很陌生,但我知道它们对JVM来说是额外的开销,而且进程内存报告并不总是准确的(特别是使用线程,我相信Jira会大量使用线程),但是我认为free -m给出了一个更准确的总体内存使用情况。比较系统内存与Jira和没有Jira告诉我,它正在使用超过1GB。我只有1GB的物理内存和768个交换/虚拟。 当我使用vmstat时,它说我没有任何虚拟页面,但我可能应该使用。我担心我只运行一个进程,而我的服务
浏览 0
提问于2011-09-13
得票数 0
回答已采纳
2
回答
为什么linux进程比windows进程轻量级?
c++
、
linux
、
multithreading
我听说linux进程比windows的进程“轻量级”。 Linux进程更像是windows中的“线程”。 因此,诸如Oracle数据库这样的应用程序是在linux中通过多进程实现的,而多线程则是在windows中实现的。 那么,这个“轻量级”是什么意思呢?
浏览 5
提问于2014-02-05
得票数 0
回答已采纳
2
回答
linux中内核线程的退出
multithreading
、
linux-kernel
我在这里是想问你linux中进程和线程的区别。我知道linux的线程只是一个“任务”,它与父进程共享它们需要共享的东西(地址空间和其他重要信息)。我还知道这两个函数正在创建调用相同的函数('clone()'),但我仍然遗漏了一些东西:当线程退出时到底会发生什么?在linux内核中调用了什么函数?我知道当进程退出时会调用do_exit函数,但是在这里或其他地方应该有一种方法来理解它是线程退出还是整个进程退出。你能给我解释一下这个东西吗?或者重定向到一些教科书??我试着“理解linux内核”,但我对它不满意。我问这个问题是因为需要向task_struct结构添加内容,但我需要区分如
浏览 1
提问于2010-05-11
得票数 1
回答已采纳
1
回答
如何在POSIX中实现零拷贝机制?
linux
、
posix
、
zero-copy
我希望在本地/网络的两个进程之间共享/传输数据。可以使用通用的IPC机制、共享内存和消息队列来传输数据。但这些机制涉及多个副本。 我遇到了零拷贝机制,它减少了CPU上的拷贝开销。Linux使用sendfile和splice来支持这一点。这些API不在POSIX中。如何仅使用POSIX实现零拷贝?
浏览 32
提问于2015-09-09
得票数 4
1
回答
奥拉-01012错误。SYSRESV的Windows对应程序是什么?
database
、
oracle
、
oracle11g
我遇到了一个ORA-01012没有登录错误。(Oracle 11g) 我看到了一些使用sysresv实用程序和ipcrm -m删除孤立共享内存段所需的帖子。但是发现这只适用于Linux。我们正在使用Windows 2012 R2服务器。 Windows是否有与sysresv & ipcrm实用程序相对应的?或者还有其他方法来解决这个ORA-01012问题吗? 谢谢你的帮忙!
浏览 4
提问于2020-06-26
得票数 2
3
回答
CPU亲和性的利弊
linux
、
multithreading
、
multicore
、
affinity
假设我有一个多线程应用程序(比如大约40个线程),它运行在一个多处理器系统(比如8个内核)上,Linux作为操作系统,不同的线程本质上是由内核调度的LWP (轻量级进程)。 使用CPU亲和性的好处/缺点是什么?CPU亲和性是否有助于将线程定位到核心的子集,从而最大限度地减少缓存共享/未命中?
浏览 1
提问于2013-01-05
得票数 3
1
回答
共享内存锁定和进程崩溃
memory
、
synchronization
、
shared
、
interprocess
我想更好地理解共享内存的同步问题。我知道进程间同步在不同的操作系统上可以有不同的工作方式。最大的区别是当锁定共享内存的进程崩溃时会发生什么。Windows释放在进程崩溃后锁定命名互斥锁,而linux不释放它。有没有人能更好地给我解释一下这个问题,优点和缺点是什么?在linux下,在进程崩溃后,如何可能出现命名互斥或进程间信号量?我已经在网上搜索过了,但我没有找到能很好地解释问题和解决方案的人。 我希望有人能帮助我。对不起,我的英语不好。
浏览 1
提问于2010-08-28
得票数 1
2
回答
双套接字与单套接字内存模型?
c++
、
c
、
linux
、
memory
从运行在Linux上的C/C++程序的角度看,内存在双CPU计算机中是什么样子,我有点困惑。 案例1(理解) 有了一个四核HT ,32 OS内存,理论上,我可以编写一个进程应用程序,最多使用8个线程,最多使用32 OS内存,而不需要进入交换或重载线程设备--为了简单起见,我忽略了操作系统和其他进程。 案例2(混淆) 设置了64 up内存的双四核HT 会发生什么? 在开发方面,您需要编写一个应用程序作为两个进程运行(8个线程,每个进程32 16)进行通信,还是可以将其写成一个进程(16个线程,64 16内存)? 如果答案是前者,那么什么是有效的现代策略来利用整个硬件呢?希姆?IPC?另外,如何指
浏览 7
提问于2013-03-22
得票数 7
回答已采纳
3
回答
使用fork()创建线程应用程序的背景
c
、
linux
、
multithreading
、
pthreads
、
fork
所以我有一个使用线程的应用程序。现在,当程序第一次启动时,我希望它先设置数据库连接,然后再设置背景,这样无论是谁启动程序,都可以知道启动时是否有错误。 我四处查看了一下,发现了一些资源,上面写着“不要混用fork和线程”,而另一些人则说,linux中的forking只会复制主线程,而不会影响其他线程。 在后一种情况下(它只是复制主线程),那么线程如何访问文件级(全局)变量?线程将不能访问forked进程地址空间中的变量吗? 最终的目标是在创建线程后拥有应用程序本身的后台。如果这是不可能的,我可以把分叉线程创建之前,只是想做得越晚越好。 注意:在fork的时候,线程将会执行一个sleep()循环
浏览 0
提问于2011-02-08
得票数 1
回答已采纳
2
回答
Linux线程和进程
c
、
linux
、
multithreading
我有一个关于Linux线程和进程的简单问题。 Linux中的进程有一个单独的虚拟地址空间,该地址空间包括 - stack - heap - bss - code/text - data
浏览 2
提问于2014-08-27
得票数 2
1
回答
POSIX命名的信号量能同步线程吗?
multithreading
、
synchronization
、
posix
、
semaphore
我正在寻找一种方法来同步Linux上的多个多线程进程。C++11风格的互斥只在单个进程内的线程之间运行,据我所知,flock并不相互排除同一个进程的线程。 因此,我想到了POSIX信号量。我知道未命名的信号量要么与线程相关,要么与进程相关,但两者都不相关。那名字的信号灯呢?很明显,它们同步进程,但是线程呢?我在文件中找不到明确的答案。
浏览 0
提问于2015-06-05
得票数 2
回答已采纳
1
回答
linux中线程和进程的性能
c++
、
linux
我在Linux中有两个场景,我在同一台机器上工作了一段时间。该机器有两个xeon处理器,每个处理器有8个核心和16个线程。 我在c++中有一个代码,它被openmp并行化。在这个场景中,如果我使用所有线程(根据Linux内核总共使用32个线程),那么线程之间的并发是否会受到任何惩罚?我的意思是,设置32个线程是这个场景的最佳配置吗? 我使用相同的二进制程序运行给定数量的进程(都是单线程进程)。基本上,我有一个脚本,它用不同的输入文件生成相同的二进制文件。在这种情况下,启动这些过程而不耗尽机器的最佳方法是什么?我认为,如果我同时运行32个进程,就会损害机器的性能。
浏览 0
提问于2018-06-23
得票数 3
回答已采纳
3
回答
是否可以在单独的虚拟地址空间中运行每个线程?
linux
、
multithreading
、
virtual-address-space
在Linux上,一个进程的线程可以运行在不同的虚拟地址空间上吗?如果是这样的话,是怎么做的?
浏览 2
提问于2012-06-19
得票数 1
回答已采纳
2
回答
Java JVM中的内存交换到磁盘
java
、
memory
、
jvm
、
swap
我使用的是64位Linux和Java JVM。我想确认一下,如果JVM使用的内存小于机器的物理内存大小,那么操作系统将不会交换磁盘内存?
浏览 4
提问于2013-07-04
得票数 2
1
回答
Python线程内存布局(结合boost::python)
python
、
c++
、
multithreading
、
boost-python
我有一个助推::用C++编写的python应用程序。这段代码被编译成一个二进制文件,其中还包括Python解释器。然后使用导入C++模块的Python调用二进制文件: ./c++executable script.py 现在,我想使用Python线程并行化代码:在Python代码中,我希望创建线程,然后(除其他外)调用用C++编写的函数。 但是,我找不到有关python线程使用的内存布局的信息: 每个线程是否会有自己定义的内存部分来使用,或者不同的线程会尝试在同一个内存部分中分配内存? 如果每个线程都有自己的( C++对象的深拷贝),那么线程之间会有任何干扰吗? 这在Linux
浏览 2
提问于2015-06-10
得票数 0
2
回答
在运行Linux或Windows的桌面计算机上,有没有办法在C中“测试”"volatile“关键字的使用?
c
、
linux
、
memory
、
memory-management
、
volatile
我知道C中的“volatile”关键字是用来告诉编译器不要将变量从RAM内存加载到寄存器或缓存中,而总是从计算机工作内存中读取变量。 然而,我也读到了这样的用例:当另一个设备修改存储在变量中的内存地址的值时。 我的问题是: 当程序在Linux或Windows机器上运行时,有没有可能修改内存地址值?这些机器也有MMU,并为其程序使用虚拟地址空间(就像所有现代机器一样)。 是否可以从另一个程序更改程序的变量(在不同的进程中运行,而不仅仅是在不同的线程中运行)?
浏览 1
提问于2017-10-12
得票数 3
3
回答
如果使用共享内存,那么与线程处理相比,进程还有优势吗?
c
、
posix
、
process
、
multiprocessing
、
shared-memory
我编写了一个Linux应用程序,在该应用程序中,主“使用者”进程从一堆“读取器”进程(~16)中分叉,这些进程从磁盘读取数据并将其传递给“使用者”以供显示。数据通过套接字传递,套接字是在使用套接字对的叉子之前创建的。 我最初是用这个过程边界编写的,原因有三个: 使用者进程具有实时限制,因此我希望避免在使用者中分配任何内存。读取器可以随意分配内存,甚至可以用另一种语言编写(例如,使用垃圾收集),这不会中断具有FIFO优先级的使用者。此外,读取器进程中的磁盘访问或其他IO不会中断使用者。我觉得用线程我无法得到这样的保证。 使用进程将阻止我,程序员,做一些愚蠢的事情,比如使用全局变量和破坏其
浏览 1
提问于2011-01-12
得票数 2
回答已采纳
1
回答
Linux多线程有可能拥有自己的内存空间吗?
c
、
linux
、
multithreading
、
stack
、
overflow
我有一个在Raspberry 3上运行良好的Linux C程序,当我在另一个sbc (Raspberry Zero)的低内存环境下运行它时,它运行了大约2-3天,然后就死机了。我相信这是一个堆栈溢出的情况。 当主程序冻结时,我设置了一个线程来定期检查。不幸的是,如果主进程崩溃,它会关闭进程中的所有其他线程。 我可以通过让另一个进程检查第一个进程来避免这种情况,但我更喜欢线程。有没有可能线程是安全的,并且不会冻结它,主进程会冻结?
浏览 2
提问于2017-04-29
得票数 0
1
回答
线程是否有权访问具有相同进程的其他线程的堆栈?
multithreading
、
memory-management
、
process
、
operating-system
我知道,除了堆栈之外,进程的线程共享地址空间(所有段)。每个线程都有自己的堆栈。我还读到,在相同的地址空间中,线程可以访问属于其他线程堆栈(和)的内存位置。 如果上面的陈述是正确的,我有一个问题:当OS从线程中看到这样的地址时会发生什么?如果线程在他人的堆栈中写入某些内容并破坏它们,怎么办?为什么OS不生成某种类型的权限拒绝错误? 如果这个问题的答案取决于操作系统,请考虑Linux。
浏览 1
提问于2016-10-07
得票数 0
1
回答
在Linux中使用线程的优点是什么?
linux
、
process
、
thread
我在某个地方读到,Linux线程实际上是作为内核中的进程实现的,因为在今天的硬件和Linux平台上,与进程模型相比,线程模型效率很低。如果是这样的话,为什么我们仍然在我们的项目中使用p线程编程(除了向后兼容性)?为什么在Linux中不推荐p线程模型时会有如此多的犹豫?
浏览 0
提问于2012-10-04
得票数 1
回答已采纳
2
回答
什么是多处理以及它是如何工作的?
multiprocessor
在linux系统上,内核、CPU、线程和处理器之间有什么区别?请解释一下区别
浏览 0
提问于2013-07-17
得票数 0
1
回答
限制linux内核中进程使用的最大线程数。
linux
、
linux-kernel
、
threads
我想我已经从Linux内核中找到了一些目前还没有实现的东西。 我需要一种方法来设置每个进程的最大线程限制。 这个是可能的吗?
浏览 0
提问于2012-08-16
得票数 5
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
linux多线程服务器
Linux系统编程 线程属性
图解|Linux内存碎片整理
Linux系统编程 线程同步概念
分享:C语言编程——LINUX 多线程
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券