我想打印出每个进程的整数数组的内容。问题是,由于比赛条件,一切都很混乱。
什么是最简单的解决方案?我不想调试。我想显示内容,因为我正在做排序算法。所以在排序前后显示是很有用的。
我在lock.c中添加了这个:
#include <stdio.h>
static int lock=0; //Don't use if timing execution
void capture(int rank) {
while(lock!=0);
lock = 1;
printf("\nCaptured by %d\n", rank);
}
void release() {
lock = 0;
}
并在打印之前调用 capture(),然后在打印后调用 release()。是的,这是一个类似信号量的 hack。但它不起作用,有什么想法吗?