① sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会; ② 线程执行 sleep()方法后转入阻塞(blocked)状态,而执行 yield()方法后转入就绪(ready)状态; ③ sle ...
分类:
编程语言 时间:
2020-06-01 13:29:43
阅读次数:
116
预热 为了完成本次测试,先来科普一下,如何利用chrome来设置下载速度(会用的可直接跳过)1.打开chrome控制台(按下F12),可以看到下图,重点在我画红圈的地方 2.点击我画红圈的地方(No throttling),会看到下图,我们选择GPRS这个选项 3.这样,我们对资源的下载速度上限就会 ...
分类:
Web程序 时间:
2020-06-01 11:42:11
阅读次数:
99
1、synchronized关键字的同步方法 包括两种用法:synchronized方法和synchronized块,synchronized控制对象的访问,每一个对相对应一把锁,每一个synchronized方法都必须获得带哦用该方法对象的锁才能执行,否则线程会阻塞,方法一旦执行,就独占该锁,直到 ...
分类:
编程语言 时间:
2020-06-01 10:25:52
阅读次数:
62
1.大纲 Lock接口 锁的分类 乐观锁和悲观锁 可重入锁与非可重入锁 公平锁与非公平锁 共享锁与排它锁 自旋锁与阻塞锁 可中断锁 锁优化 一:Lock接口 1.锁 是一种工具,用于控制对共享资源的访问 Lock和synchronized,是常见的锁,都可以达到线程安全的目的 Lock最常见的实现类 ...
分类:
其他好文 时间:
2020-06-01 00:37:47
阅读次数:
79
##线程状态 NEW:刚创建未启动的线程 RUNNABLE:正在执行状态 BLOCKED:处于阻塞状态的线程 WAITING:正在等待另一个线程执行特定动作的线程 TIMED_WAITING:等待另一个线程执行时间到达指定时间 TERMINATED:线程退出执行 public class TestS ...
分类:
编程语言 时间:
2020-05-31 19:40:59
阅读次数:
63
同步IO和异步IO 参考答案: IO操作主要分为两个步骤,即发起IO请求和实际IO操作,同步IO与异步IO的区别就在于第二个步骤是否阻塞。 若实际IO操作阻塞请求进程,即请求进程需要等待或者轮询查看IO操作是否就绪,则为同步IO。 若实际IO操作并不阻塞请求进程,而是由操作系统来进行实际IO操作并将 ...
分类:
其他好文 时间:
2020-05-31 16:28:27
阅读次数:
92
IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同 ...
分类:
其他好文 时间:
2020-05-31 10:40:19
阅读次数:
51
import asyncioimport aiohttpfrom lxml import etreeurls = ['http://wz.sun0769.com/political/index/politicsNewest?id=1&page=1', 'http://wz.sun0769.com/p ...
分类:
其他好文 时间:
2020-05-30 13:10:20
阅读次数:
60
计算密集型的部分适合使用进程,耗时的部分适合使用线程 1 from multiprocessing import Pool 2 3 # 创建一个进程池,里面放5个进程 4 pool = Pool(5) 5 6 # 阻塞模式 7 pool.apply(task, args=(t,)) 8 9 # 非阻 ...
分类:
编程语言 时间:
2020-05-30 12:33:18
阅读次数:
80
1 """ 2 python的线程和java的线程是有差别的, 3 python的进程更像java的线程 4 线程状态:创建 -> 就绪或运行或阻塞 -> 结束 5 6 优点: 7 在一些等待的任务上有优势,如用户输入、文件读写、网络收发数据等。在这些情况下可以释放珍贵的内存cpu资源 8 9 常用 ...
分类:
编程语言 时间:
2020-05-30 12:32:47
阅读次数:
56