Week |
Tuesday |
Due |
2
| PA: Type System
| Jan 6
|
6
| Oct 23
[SPA] Ex. 7.10, 7.18, 8.3, 8.4, 9.4, 9.5(针对9.4给的程序)
| Oct 30
|
5
| Oct 16
[SPA] Ex. 6.10, 7.4
| Oct 23
|
4
| Oct 9
[SPA] Ex. 4.12, 5.25, 5.35
| Oct 16
|
3
| Sep 25
[SPA] Ex. 3.6, 3.7 (Page 16 in typeAnalysis.pdf), 3.10, 3.12
| Oct 7
|
2
| Sep 18
安装 Java JDK 以及 Scala 等工具, 初步了解 TIP
|
|
1
| Sep 11
- 用Word 和 notepad 打开并编辑相同文件, 看对该文件的修改是否有冲突, 请说明在你电脑上表现出的情况并尝试解释说明
- 编写若干个Pthreads程序, 测试、观察并总结
1) 在主线程中循环创建子线程,看在你的系统里最多能创建多少个,并尝试分析
2) 在主线程中创建2个子线程,编写任务使得子线程发生栈溢出,并对发生的现象进行分析说明
3) 针对1和2,可以利用《编译原理(第3版)》
11.1节介绍的编译选项(如 gcc -S)和 objdump 工具查看上述 1) 和2) 的汇编码,了解它们与源程序的对应关系
4) 编写如下几个多线程程序,让2个线程共享全局计数器,每个线程循环执行任务,每做完一个任务对计数器进行增1,并打印形如
Thread X finished No.Y job 的信息,X代表线程编号,Y代表当前的全局计数值
4-1)访问全局计数器时不使用任何同步
4-2)访问全局计数器时使用互斥锁
| Sep 18
|