一.线程状态流转图 Java的线程可以有多种状态,在Thread.State类中定义了6个常量来表示线程的状态,分别是NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED,下面是比较详细的一幅状态流转图: 二.示例代码 2.1 sleep 先看下 ...
分类:
编程语言 时间:
2020-06-17 01:31:09
阅读次数:
69
问题描述:使用selenum爬取苏宁易购时,搜索手机时,在浏览器中右键检查都存在的信息,比如价格等信息,在爬虫中解析页面时解析不到数据 问题分析: 苏宁搜索手机加载页面时使用的是ajax加载的信息 在向下滑动时,也在实时加载信息, 当访问页面时,不会加载全部的信息,随着页面向下滚动,会持续发送aja ...
分类:
编程语言 时间:
2020-06-16 20:04:38
阅读次数:
65
import time def consumer(name): print('%s,准备吃包子'%name) while True: baozi = yield print('包子%s来了,被%s吃了'%(baozi,name)) c = consumer('clyde') c.__next__() ...
分类:
编程语言 时间:
2020-06-15 20:43:55
阅读次数:
67
import functools import time # 最大重试次数/重试间隔 def retry(stop_max_attempt_number=10, wait_fixed=2): def decorator(func): @functools.wraps(func) def wrappe ...
分类:
编程语言 时间:
2020-06-15 11:48:08
阅读次数:
62
1、time模块 语法:time.sleep(step) 含义:等待step秒后再继续往下执行代码 2、random模块 语法:random.randint(num1, num2) 含义:从num1和num2之间随机选择一个整数,num1和num2都必须是一个整数并且num1和num2的值都可以被取 ...
分类:
编程语言 时间:
2020-06-14 18:53:46
阅读次数:
64
# from threading import Thread # import time # lqz = -1 # def task(arg): # global lqz # lqz = arg # time.sleep(2) # print(lqz) # # for i in range(10): ...
分类:
编程语言 时间:
2020-06-13 23:17:08
阅读次数:
80
大巴三个门同时上人(lock锁) 描述: 有一辆班车除司机外只能承载80个人,假设前中后三个车门都能上车,如果坐满则不能再上车。请用线程模拟 上车过程并且在控制台打印出是从哪个车门上车以及剩下的座位数。 比如:(前门上车 还剩N个座...) 自己的代码: public class Test03 { ...
分类:
其他好文 时间:
2020-06-13 13:06:15
阅读次数:
144
最近学习了操作系统的并发;以下是关于进程间实现并发,通信的两个方法。 1:利用管道进行进程间的通信 用到下列函数 pipe() from unistd.h sleep() write(), read() fork(); //创建子进程 管道只能用于具有亲缘关系的进程,可以将其看作一个文件,但有别于普 ...
分类:
编程语言 时间:
2020-06-12 12:23:04
阅读次数:
109
带着BAT大厂的面试问题去理解SynchronizedSynchronized可以作用在哪里?分别通过对象锁和类锁进行举例。 Synchronized本质上是通过什么保证线程安全的?分三个方面回答:加锁和释放锁的原理,可重入原理,保证可见性原理。 Synchronized由什么样的缺陷? Java ... ...
分类:
其他好文 时间:
2020-06-12 01:15:46
阅读次数:
90
今天在学习的时候,卡在DEKKER算法这里一下,脑袋一阵迷糊,竟然扣了几个小时,经过调试求证了一些事情,就是为什么要在循环里面更改各自的状态。 这里先引用一下百度百科的资料,说的通俗易懂,看完之后就会明白个大概。 1)P0的逻辑 do{ flag[0] = true;// 首先P0举手示意我要访问 ...
分类:
编程语言 时间:
2020-06-12 00:41:13
阅读次数:
92