report of Threads and Locking
实验要求
实验了解
初步了解
在我们使用gcc -g -O2 ph.c -pthread
成功编译后,按照实验指导书我们体会一下单线程和双线程的区别
harry@ubuntu:~/Desktop/os/Threads and Locking$ ./a.out 1
0: put time = 0.004051
0: get time = 6.730206
0: 0 keys missing
completion time = 6.734654
harry@ubuntu:~/Desktop/os/Threads and Locking$ ./a.out 2
1: put time = 0.009607
0: put time = 0.010374
1: get time = 6.664562
1: 14969 keys missing
0: get time = 6.673753
0: 14969 keys missing
completion time = 6.684481
每个线程分两个阶段(phases
)运行。在第一个阶段,每个线程将NKEYS/nthread keys
放入the hash table
。
在第二阶段,每个线程从散列表中获取NKEYS
。