xv6 Thread and locking

1)编译ph.c源文件,并分别以单线程和双线程运行,结果如下:

xv6 Thread and locking

2)在原有ph.c代码的基础上做如下改动:
声明锁变量数组:
xv6 Thread and locking

在main()函数中初始化锁变量数组:
xv6 Thread and locking

当进行insert操作是加锁保护,修改put()函数如下:
xv6 Thread and locking

再次编译ph.c,并分别以单线程和双线程运行,结果如下:
xv6 Thread and locking

运行结果中的单线程和双线程间的时间差距仍然很大,结果可能还存在偏差。