Rust(2) Ownership
传统的C语言需要开发人员手动管理内存,而像Java、Go这样的语言是通过垃圾回收机制自动进行内存管理。但通常垃圾回收机制本身较为复杂且需要不定期的进行(也就是说实际当内存不在需要的时候并不一定能得到及时的释放)。而rust语言采取的所有权机制(Ownership)是它区别于其他语言的一个重要特征,它被用来进行高效安全的内存管理。
[阅读更多...]传统的C语言需要开发人员手动管理内存,而像Java、Go这样的语言是通过垃圾回收机制自动进行内存管理。但通常垃圾回收机制本身较为复杂且需要不定期的进行(也就是说实际当内存不在需要的时候并不一定能得到及时的释放)。而rust语言采取的所有权机制(Ownership)是它区别于其他语言的一个重要特征,它被用来进行高效安全的内存管理。
[阅读更多...]使用多线程技术可以有效的利用CPU时间,在同一个时间内完成更多的任务,但同时值得注意的是,线程创建本身也是有开销的,线程池使得我们可以重复的利用已经存在的线程,从而节省这一部分的开销,提高程序的效率。
[阅读更多...]线程是操作系统中进行运算调度的最小单位,它是一个单一顺序的控制流,不论是对于单核还是多核的CPU,都能比较有效的提高程序的吞吐率。在Java中,创建一个线程的唯一方法是创建一个Thread
类的实例,并调用start()
方法以启动该线程。然而当多个线程同时执行时,如何保证线程之间是按照我们期待的方式在运行呢?Java提供了多种机制来保证多个线程之间的交互。
[阅读更多...]