小编Jam*_*mes的帖子

多线程应用程序中的访问冲突,C++

我不太擅长多线程编程,所以我想寻求一些帮助/建议。

在我的应用程序中,我有两个线程试图访问共享对象。可以考虑尝试从另一个对象中调用函数的两个任务。为清楚起见,我将展示程序的某些部分,这些部分可能不是很相关,但希望可以帮助解决我的问题。

请看下面的示例代码:

//DataLinkLayer.h 
class DataLinkLayer: public iDataLinkLayer {

public:
DataLinkLayer(void);
~DataLinkLayer(void);
};
Run Code Online (Sandbox Code Playgroud)

其中 iDataLinkLayer 是一个接口(没有任何实现的抽象类),包含纯虚函数和一个指向 DataLinkLayer 对象(dataLinkLayer)的引用(指针)声明。

// DataLinkLayer.cpp
#include "DataLinkLayer.h"

DataLinkLayer::DataLinkLayer(void) {

/* In reality task constructors takes bunch of other parameters  
 but they are not relevant (I believe) at this stage. */
dll_task_1* task1 = new dll_task_1(this); 
dll_task_2* task2 = new dll_task_2(this); 

/* Start multithreading */
task1->start(); // task1 extends thread class
task2->start(); // task2 also extends thread class
}

/* sample stub functions for testing */ …
Run Code Online (Sandbox Code Playgroud)

c++ windows multithreading

4
推荐指数
1
解决办法
6535
查看次数

标签 统计

c++ ×1

multithreading ×1

windows ×1