多线程
-
Python互斥锁(Lock):解决多线程安全问题
多线程的优势在于并发性,即可以同时运行多个任务。但是当线程需要使用共享数据时,也可能会由于数据不同步产生“错误情况”,这是由系统的线程调度具有一定的随机性造…
-
什么是死锁,如何避免死锁(4种方法)
当两个线程相互等待对方释放资源时,就会发生死锁。Python 解释器没有监测,也不会主动采取措施来处理死锁情况,所以在进行多线程编程时应该采取措施避免出现死锁。 一旦出现死锁,整个…
-
Python底层是用什么语言实现的?
确切地说,本教程介绍的是用 C 语言编写实现的 Python,又称为 CPython。平时我们所讨论的 Python,指的其实就是 CPython。 随着编程语言的不断发展,Pyt…
-
Python list列表使用技巧及注意事项
前面章节介绍了很多关于 list 列表的操作函数,细心的读者可能会发现,有很多操作函数的功能非常相似。例如,增加元素功能的函数有 append() 和 extend(),删除元素功…
-
Java虚拟机(JVM)及Java跨平台原理
在 Java 语言白皮书上面有这样一段话:Java 是一种简单的,面向对象的,适用于网络应用的,平台无关的,解释的,健壮的,安全的,结构自然的,可移植的,高性能的,多线程的,动态的…
-
Python Asyncio并发编程详解
本节继续学习 Python 并发编程的另一种实现方式,也就是 Asyncio 并发编程。 我们知道,使用多线程和普通的单线程相比,其运行效率会有极大的提高。但不得不说,多线程虽然有…
-
Python Futures并发编程详解
无论哪门编程语言,并发编程都是一项很常用很重要的技巧。例如,爬虫就被广泛应用在工业界的各个领域,我们每天在各个网站、各个 App 上获取的新闻信息,很大一部分便是通过并发编程版的爬…
-
Python GIL全局解释器锁详解(深度剖析)
通过前面的学习,我们了解了 Pyton 并发编程的特性以及什么是多线程编程。其实除此之外,Python 多线程还有一个很重要的知识点,就是本节要讲的 GIL。 GIL,中文译为全局…
-
多进程编程和多线程编程优缺点
多进程编程和多钱程编程,都可以使用并行机制来提升系统的运行效率。二者的区别在于运行时所占的内存分布不同,多钱程是共用一套内存的代码块区间;而多进程是各用一套独立的内存区间。 多进程…
-
JUnit和TestNG:Java单元测试框架
目前,常用的 Java 单元测试框架是 JUnit 和在 JUnit 基础上进一步扩展的 TestNG。为了能很好地在 Maven 中完成测试案例的执行和形成测试报告,这里介绍一下…