1.复习了c语音的基本知识:ASCII表,A 的十进制为65,a为97,大小写字母转换就是加减32;
转义字符,\,占一个字节,\0为字符串的结束标志。
2.操作系统,本周学习了进程与线程的概念以及互斥问题。
按照我自己的理解,互斥就是多个线程同时访问同一个共享资源时因为执行次序的不同而导致的多种结果,这个书上的解释为竞争状态,大致就是这个意思。然后还引用了临界区,非临界区,临界资源的概念以便理解这个问题。
临界区就是正在cpu上运行的线程所对应的那段代码(运行状态),非临界区是等待的那个线程所对应的那段代码(就绪状态),临界资源是指被多个线程同时访问的共享资源。实现互斥就是为了避免竞争状态的出现。
互斥实现的条件:1,任何两个线程不能同时进入临界区,即临界区里只能有一个线程。
2,空闲让进,cpu一旦空闲(临界区的线程已执行完毕),处于非临界区的线程就可以进入临界区
3,有限等待,非临界区的线程的等待时间是有限的,即访问需求必须在一定时间内应答。
这个也很好理解,cpu一次只能执行一个进程。这里的书上说的都是进程,但实际情况下,一般都是线程,所以我就写的是线程。
互斥的实现有两种:关闭中断和繁忙等待
关闭中断就是一旦有线程进入临界区,就关闭中断,禁止进行系统调用,这样虽然能实现互斥,但效率不高,比较这里的中断一般是指I/O中断。
繁忙等待有三种方法:加锁标志位法
peterson方法
强制轮流法
这三种方法的具体怎么实现,可以参考书,他们的思想都运用了循环,其中peterson方法是较为精妙的。
3,Java web 本周是学习了怎么连接数据库,以及自学了一点MySql语句。MySql语句中值得注意的就是“ ` "符号了,设置名称或变量是用这个反引号,而 Value里的值则是使用单引号” ‘ “,别的到还好。
唉,第一次写,都不知道写点什么了,等以后有点积累了,在发布一些解决技术上的问题的文章吧。