cost 294 ms
如何将数据写入标准输入以供等待标准输入输入的单独线程使用? - How to write data to stdin to be consumed by a separate thread waiting on input from stdin?

我试图从与主线程不同的线程中从stdin读取一些数据。 主线程应该能够通过写入stdin来与该等待线程进行通信,但是当我运行测试代码(包含在下面)时,什么都没有发生,只是消息(测试代码中的“ do_some_work”)直接打印在终端上而不是从等待线程输出。 我尝试了SO上列出的几种解决 ...

pselect()与accept()在循环中 - pselect() with accept() in a loop

我有一个多线程服务器,它通过以下循环生成新线程: 在大多数情况下,这可以按预期工作,但有时pselect()不会触发。 我用tcpdump检查了一下,然后知道数据已发送到服务器,所以我认为它与主循环有关。 另外,如果使用gdb运行并在发送数据之前在pselect()上断开,则ps ...

使用FD_SET进行读写集以在C中发送和接收数据 - Making read and write sets with FD_SET for sending and receiving data in C

我有一个客户端和服务器,并且客户端运行一个select循环以在TCP和UDP连接之间进行多路复用。 我试图将我的TCP连接文件描述符添加到read和write集,然后使用write集启动一个消息交换,并使用read集启动一个消息交换。 我与write集进行的消息通信正常,但与read集却无法 ...

STDIN阻止激活其他文件描述符 - STDIN prevents activating of other file descriptors

编写以下程序来接收客户的消息并从键盘读取用户输入: 问题是,当我按下键盘上的“ enter”键并且“ 0”文件描述符被激活时,该程序将永远不会激活任何其他文件描述符,并且它将锁定在“ 0”文件描述符上。 如何解决此错误? ...

在选择功能中检测超时的客户端 - Detecting the timed out client in select function

我想使用select函数来处理不同的文件描述符。 程序启动时,它必须按照一定的间隔开始向其他客户端发送数据包。 我的第一个问题是如何在主while循环中使用计时器而不中断while循环和select函数的功能? 那是因为我需要在计时器运行时接受用户输入。 第二个问题是我现在是否不需要 ...

具有select()的Pthread生产者/消费者调用文件I / O - Pthread producer/consumer with select() calls for file I/O

我试图改善实时计算机视觉程序的捕获性能,该程序正在开发中,以便使用OpenCV在嵌入式Linux计算机上运行。 我想使用多个线程和一个共享内存缓冲区来分离以下任务:(1)捕获视频帧和(2)处理它们(我认为是“生产者/消费者问题”)。 我已经阅读了pthreads,互斥量变量和条件变量,但不了 ...

使用带管道的select() - Using select() with pipes

我们的想法是创建一个二进制进程树,它将信息发送到树中,然后将值发送回树中,在信息上升时聚合信息。 我遇到的问题是使用select()来确定何时可以读取管道。 在我到目前为止所写的内容中,第一个管道(第一个左子)能够接收信息并打印出来; 但是第二个管道(第一个右边的孩子)在收到任何信息之 ...

使用select()监视管道时出现分段错误 - Segmentation fault when using select() to monitor pipes

我正在做一个项目,该项目的前提是创建一个进程树,其中父进程通过管道向其两个子进程中的每个子进程发送字符串的一半(数字),然后,当数字<= 2时,该数字出现并传递计数的次数(希望是整数数组的形式,返回到父级。 我仍处于构建此事物的初始阶段,并且不断使用select()陷入困境。 现在 ...

* nix和C ++编写非阻塞套接字服务器 - *nix & C++ writing a non-blocking socket server

将阻塞套接字服务器重写为非阻塞版本时遇到一些问题。 实际上,我什至似乎都无法再连接套接字,我在今天的大部分时间里一直在搜寻,并尝试在这里和那里找到的不同解决方案,但是它们似乎都无法正常工作...当前我的服务器循环只是保持超时select()调用,不接受任何新的套接字。 客户端套接字似乎在某种 ...

使用select()函数在C中进行套接字编程 - Socket programming in C, using the select() function

根据从该线程获得的答案,我创建了以下代码: 服务器启动时,服务器在if(select(...))语句处被阻塞。 因此,当我先运行服务器,再运行客户端时,客户端将连接到服务器(有时,连接客户端之前,需要花费几次时间来运行客户端)。 然后, if(select...))语 ...


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