Quantcast
Viewing all articles
Browse latest Browse all 517193

Создание параллельных потоков - C++/CLI Windows Forms

Здравствуйте!

Помогите, пожалуйста, решить одну проблемку.
Мне необходимо, чтобы в двух разных потоках параллельно производилась запись в массив и чтение с данного массива.

Дак вот, у меня возникает проблема обращения к данному массиву и необходимо делать блокировки, но не могу понять как это сделать.

Код:

private: array<Class^> ^arr;

...

private: Thread ^writeThread;
private: Thread ^readThread;

private: System::Void button_Click(System::Object^  sender, System::EventArgs^  e) {
        this->writeThread =
                gcnew Thread(gcnew ThreadStart(this, &Form::ThreadProcSafeWrite));

        this->readThread =
                gcnew Thread(gcnew ThreadStart(this, &Form::ThreadProcSafeRead));

        this->writeThread->Start();
        this->readThread->Start();
}

private: void ThreadProcSafeWrite() {
        ...
        arr[i] = data;
        ...
}

private: void ThreadProcSafeRead() {
        ...
        Save(arr[i]);
        ...
}


Viewing all articles
Browse latest Browse all 517193

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>