gpt4 book ai didi

c - 用多线程修改一个结构c编程

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:48 24 4
gpt4 key购买 nike

我在互联网上到处都是,没有人直接回答这个问题。所以我的主进程中有一个结构,我需要多个线程来修改它。我知道我将需要互斥锁来保护数据,但是有什么方法可以共享指针而不将其作为参数传递到 pthread_create 中。我知道线程共享相同的内存地址,如果我在一个中分配,另一个应该可以访问它。但是如果不传递指针,线程如何知道某个指针已经存在。

最佳答案

您的问题的典型答案是,当您调用 pthread_create 时,您不是将指针直接传递给线程,而是将指针传递给某个更高级别的结构,该结构用作您与线程的通信线程。

例如,假设您正在编写一个网络服务器来接收来自客户端的请求,然后需要处理这些请求。处理来自客户端的请求的线程通常会传递某种可等待队列的地址。当一个线程收到来自客户端的请求时,它会将该请求放入可等待队列中。处理客户端请求的线程已经在等待将事物放入该队列,并且它们从队列中获取有关它们需要处理的请求的信息。

关于c - 用多线程修改一个结构c编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33902168/

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