cost 346 ms
如何防止pthreads中的memory泄露? - How to prevent memory leaks in pthreads?

如何防止 pthread 中的 memory 泄漏? 我正在运行一个服务器客户端程序,其中服务器必须执行 pthread 程序并将结果发送给客户端。 客户端不断地请求命令,直到停止。 服务器提供的结果仅在第一次迭代中为真,但在第二次迭代中提供的结果不正确。 我尝试使用 pthread_join 和 ...

c 代码中的“(void *)2”是什么意思? - what's the meaning of "(void *)2" in c code?

我最近读了一本关于如何在 unix 环境中编写代码的书。有一个示例代码让我很困惑。 示例代码: 如何找出“(void *)1”或“(void *)2”? 可以将类型“void *”转换为“long”吗? 在我看来,“(void *)1”告诉我 1 是一个地址,但是当我使用 deref 来获取存储在 ...

为什么我将 retval (void *) 传递给 pthread_exit() 的一种方法会产生意想不到的结果? - Why does one of my ways of passing retval (void *) to pthread_exit() give unexpected results?

今天是我使用线程的第一天。 我很难理解为什么我无法通过以下两种方式传递 retval(类型:void *)(即,只有一种方式会给出预期的结果,如下所示)。 我将提供我的代码的简化版本: 当我在我的 Linux 终端上编译上述源代码时: 然后执行: 我得到以下输出: 但是,如果我在上 ...

pthread_exit function 的属性:哪一个是对的? - Properties of pthread_exit function : which one is right?

在 CSAPP 书第 12.3 节中,他们说.. 线程通过调用pthread_exit function显式终止。 如果主线程调用pthread_exit ,它会等待所有其他对等线程终止,然后终止主线程和整个进程,返回值为 thread_return。 但是在pthread_exit的手册页中: ...

在分段错误处理程序中调用 pthread_exit 时终止调用而没有活动异常 - terminate called without an active exception when calling pthread_exit in segmentation fault handler

你好吗? 我将在 Ubuntu 18.04 上修复工作线程中的分段错误。 我的代码如下。 代码运行良好。 此代码的 output 如下。 新线程成功运行 0 新线程成功运行 1 新线程成功运行 2 线程崩溃了 3 新线程成功运行 4 新线程成功运行 5 新线程成功运行 6 新线程成功运行 7 但是, ...

pthread_exit() 抛出警告:从不同大小的 integer 转换为指针 [-Wint-to-pointer-cast] 警告 - pthread_exit() throws warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] warning

我一直在学习pthread库,并创建了一个简单的代码来将两个数字相乘,但是我无法摆脱这个警告。 附言。 代码工作正常。 这是警告: 任何见解将不胜感激。 ...

pthread_join 后局部变量值不正确 - Incorrect local variable value after pthread_join

我试图通过将数组拆分为大小为 10 的段来使用 pthread 库总结 1000 个元素的整数数组(其中每个元素为 1)。因此,有效地使用了 100 个线程来执行此操作。 此并行操作的结果符合预期 (1000)。 但有趣的是,在我第一次调用pthread_join()之后,我在创建线程之前计算的顺序 ...

用 return 退出线程 - Exit thread with return

我有一个小问题,我希望找到可以帮助的人。 我正在尝试使用 ucontext 在 c 中开发一个线程库,并且我已经为此开发了基本功能。 所以现在我的问题是我想考虑用户用 return 而不是我的退出函数完成他的函数的情况。 是否可以知道线程上下文是否已完成并在用户在其函数中使用 retutn 时获取 ...

通过将结构指针传递到C中的pthread_exit()读取返回的值时出错 - Error reading returned value from passing struct pointer to pthread_exit() in C

我试图通过pthread_exit()函数将指向结构lower_hyper_id的指针从线程传递到主线程,该指针将比较并输出结构中的值。 但是,当我尝试使用返回的值并将其强制转换为结构时,我收到错误消息(分段错误)。 创建并返回结构的线程: 在主要方面: 我已经看过sta ...

如何使用pthread,pthread_exit将*转换为double / float - How to convert * to double/float with pthread, pthread_exit

我需要创建一个程序来计算递归(对于某些序列)。 当我使用int并清除一个递归时,它将计算不带浮点数的值(例如fibonacci序列,该值仅返回中性数),它可以工作。 但是,当尝试使用基于除法的序列(带有浮点数)时,会显示如下错误: 错误:无法转换为浮动类型pthread_exit((v ...

根据调用线程中的变量值关闭线程 - Close a thread based on a variable value from calling thread

我在C中使用posix线程。我的程序中有两个线程,thread1和thread2。 线程1启动线程2。 线程1维护一个变量var1,基于该变量必须安全退出线程2。 thread2调用了许多冗长的函数(其运行时间最多为5秒)。 在thread2中有许多使用malloc的内存分配。 ...

了pthread_exit(NULL); 不工作 - pthread_exit(NULL); not working

这是我创建一些线程的代码。 我想在同一时间创建500个线程,而不是更多。 很简单,但是在创建32xxx线程后我的代码失败了。 然后我不明白为什么我在32751线程之后得到错误代码11,因为,每个线程都结束了。 我可以理解,如果线程没有退出,那么32751线程在同一台计算机上... ...

为什么pthread_exit(0)挂起程序? - Why does pthread_exit(0) hangs the program?

运行以下C代码将导致程序挂起,并且不响应信号(包括CTRL-C)。 知道为什么吗? 当其他线程已经创建并正在运行时,该行为是正常的,但是我想知道在使用pthread_exit(0)之前是否始终需要检查该线程。 编辑:这是挂起的完整代码。 但是,我正在使用glib(-lgli ...

仅在需要时运行的Posix pthread worker - Posix pthread worker that is only running when needed

我有一个工作线程正在执行轮询活动(它的目标是libcurl,但这不相关)。 应用程序中的许多操作都可以启动工作线程,但是如果它已经在运行,则不应创建任何新线程。 来自应用程序的新请求仅与已经进行的任何其他轮询结合在一起。 总而言之,当没有任何事情要做时,单个工作线程退出。 代 ...

客户端在C中的服务器线程中的pthread_exit()之后挂起 - Client hangs after pthread_exit() in server thread in C

我有一台服务器,可以处理多个客户端。 连接到它的每个客户端都在其自己的线程中得到服务。 现在,如果服务器端发生任何错误,我想通过调用pthread_exit退出该线程,并终止该线程正在服务的客户端。 然而; 当我尝试这样做时,我的客户就挂了。 同样,这也会导致处于不同线程中的其他客户端 ...

如何在退出之前保存线程堆栈? - how to save a thread stack before it exits?

我正在开发一个多线程项目,我需要在代码的某个位置复制线程堆栈(我需要一个指向它的指针)。 因为退出该线程后,我将需要该指针(并且它的堆栈已释放)。 如果我能以某种方式告诉pthread_exit()不释放线程堆栈,它也可以完成工作! PS:这背后的原因是,当此线程实际上已死时,我想稍后 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM