使用具有相同对象的两个线程向两个不同的文件描述符写入
Using two threads with the same object to write to two different filedescriptors?
所以我有一个类,其成员指针指向一个对象,该对象具有使用系统调用写入文件描述符的成员函数。我想使用线程扩展它,这样我就可以同时写入两个文件描述符(它们不在磁盘上)。当两个线程使用相同对象的写函数时,这是可能的吗?
int main()
{
Writer oWr;
myClass omyClass(&oWr);
unsigned char data[10] ={0} ;
int fd1 = open(...);
int fd2 = open(...);
omyClass.write(fd1, data, 10);
//Create 2 threads using omyClass but with fd1 and fd2
}
class myClass
{
myClass::myClass( Writer *pWr) : pWriter(pWr)
{}
void write(int fd, void* data, int size)
{
pWriter->writeraw(fd, data, size);
}
private:
Writer *pWriter;
};
class Writer
{
int writeraw(int fd, void* data, int size)
{
int ret = write(fd, data, size);
return ret;
}
};
由于文件描述符被传递给write函数,所以这里没有问题。
相关文章:
- 两个文件使用彼此的功能-如何解决
- 结构包含在两个头文件中,这两个文件我都不拥有
- Levenshtein 两个文件的距离花费了太多时间
- 如何在c ++中以一行(水平)打印两个文件的数据?如给定的.这两种形式来自两个不同的文本文件
- 包括两个文件 C++ 之间的冲突
- 如何检测两个文件条目是否引用与Qt相同的物理文件系统?
- 比较两个文件夹的关系
- 连接两个文件时如何避免冗余尾随换行符?
- 在循环工作时,首先将两个文件读为向量,但仅次于迭代一次
- 比较两个文件中的两个中间人的最佳方法.C++
- 同时逐行阅读两个文件
- 包含两个C++文件的制作文件:如何选择要编译的文件
- 在 c++ 中对两个文件使用标头
- 同时阅读两个文件
- 如何连接两个文件夹/项目的生成文件,这两个文件夹/项目必须一起运行且独立运行
- 从其他两个文件中创建一个分类整数的文件
- C 程序处理两个文件,而不是一个文件
- 知道分割故障在哪里比较两个文件
- 如何计算两个文件中字符单词和行的总数,并将它们相加以得出总数
- 将相同数据写入两个文件的有效方法