0
即使我沒有太多的理解,我仍然對編程有點新,所以很抱歉。即時嘗試製作一個二維數組的互斥鎖與我正在使用的另一個二維數組對應。這是我的代碼如何製作一個二維數組互斥鎖?
#define NUM_THREADS 100
static pthread_mutex_t mutexes[NUM_THREADS][NUM_THREADS] = {
for(int i = 0 ; i < NUM_THREADS ; i++) {
P99_DUPL(NUM_THREADS, PTHREAD_MUTEX_INITIALIZER);
}
};
我是否正確地做了這件事?是否有可能做這件事?
編輯:當我嘗試編譯時,出現錯誤「預期表達式」。
是否有可能具有n×m個互斥爲在陣列中的東西?是的,但可能不明智。它可以通過這種方式初始化嗎?不在C/C++中(除非某些新版本引入某種列表理解)。另外,除非你的目標機器擁有100個內核/線程,否則運行這麼多線程是沒有意義的。線程池大小的一個很好的啓發是n + ln(n),其中n是可用CPU核心/線程的數量。 – datenwolf
感謝您的提示,我會盡力迴避並提出不同的策略。 –