2017-08-17 ThreadLocal 在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 阅读全文…
2017-08-17 Python线程 多任务可以由多进程完成,也可以由一个进程内的多线程完成。我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。 阅读全文…
2017-08-15 python实现链表 之前只是介绍过链表这种数据结构,但是,没有进行详细的讲解,虽然这种数据结构在很多时候,特别是在读取元素的时候,并不是显得很高效,但是仍然值得我们学习,链表问题也是面试中常见的问题,比如:链表的逆置,因此深入的学习这种数据结构很有必要。 阅读全文…
2017-08-13 希尔排序 通过之前的介绍,我们知道了插入排序的原理。但是,如果一个元素距离它的正确位置非常远,那么我们就要做很多次大小比较,才能找出其正确位置。因此,其设计者希尔(Donald Shell),在插入排序的基础上,提出了一种更高效的改进版本–希尔排序。 阅读全文…