自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 linux源码安装json-c

1、sudo apt-get install git gcc clang libtool autoconf automake doxygen valgrind #安装依赖2、git clone https://github.com/json-c/json-c.git3、cd json-c4、sh ./autogen.sh5、./configure6、make7、make ins...

2019-12-28 16:53:12 869 2

原创 Python 协程

实现并发:开多进程和开多线程若只有一个线程,肯定无法实现并行,但是否可以实现并发?并发的实现手段:切换+保存状态,原来是由OS管控,没有I/O时操作系统也可能切换任务,因为要统筹全局。但是真正能提高效率的是有I/O的时候切换。在自己的线程中,有五个任务,进行切换+保存状态,也叫并发,但是是由程序员控制,OS管不着。即,单线程下实现并发,成为协程。协程不存在,只是人们规定的一...

2019-12-18 17:10:26 81

原创 Python 进程池与线程池

前边套接字通信服务端多任务并发,套接字通信是I/O密集型的任务,用多线程。主线程建连接,每建一个连接就起一个线程。 彼此任务不再影响。但这种方式会有服务端无限开线程的问题。所以要限制并发的个数,使用pool的概念。开线程池,池的大小设置:设为机器可以承受的范围。线程池是一种折中的方案,其实比不开池效率低,但保证了安全机器不会崩。线程池应用于问题规模大,要开许多线程,多到机器无法承受的...

2019-12-18 15:01:04 144

原创 Python 线程相关 线程queue

线程queuePython3中的所有模块名都变成了纯小写了。进程的队列不能给线程用线程间通信使用线程queue不通过其他机制线程间的通信,但是要考虑锁的问题,用了队列就不用考虑锁的问题了对于程序的不同组件,在现实中分布式的运行在多台机器效率更好,这些机器间为了仍然能够协调合作需要通信,就将通信队列组件也部署在一台机器上,让其他别的机器都连着这台机器就可以实现间接通信了。这样一来效率提高...

2019-12-17 19:53:01 94

原创 Python 线程相关 递归锁解决死锁、信号量、Event事件、条件

-RLock解决死锁死锁:from threading import Thread,Lockimport timemutexA=Lock()mutexB=Lock()class MyThread(Thread): def run(self): self.func1() self.func2() def func1(se...

2019-12-17 19:22:03 136

原创 Python 关于GIL

GIL是Cpython解释器中使用的一种机制当前运行的线程持有GIL,GIL保证解释器当前只有一个线程只要一进行I/O操作就释放掉GIL对于绑定CPU 并且从不进行I/O操作的线程当做特例对待实质是互斥锁,即将并行变成串行每次执行一个python脚本,就产生一个独立的进程,所有开的线程都运行在这一个进程内所有线程共享进程数据,所有线程的任务都需要将任务的代码当做参数传给解释器的代码去...

2019-12-16 16:55:03 87

原创 Python线程相关(二)多线程实现并发的套接字通信、守护线程

实现服务器端并发服务器端# -*- coding: utf-8 -*-"""Created on Sun Dec 15 15:27:19 2019@author: clt"""#服务器端 #为了实现并发的连接,用多线程更合适 #服务器有两个任务:1、建连接;2、收发消息import socketfrom threading import Thread,current_...

2019-12-15 17:26:09 161

原创 Python线程相关(一) 开启线程的两种方式、进程与线程的区别

线程理论详见https://www.cnblogs.com/linhaifeng/articles/7430082.html1、每个进程内都会有一个默认的线程2、多线程指得是一个进程里有多个线程3、线程的最大两个特点:开启线程开销小;同一个进程内的多个线程共享数据;开启线程的两种方式开线程的目的:并发执行任务没有子线程的概念,在一个进程中的多个线程地位是平等的法一:imp...

2019-12-15 15:20:45 117

原创 Python进程相关(三)生产者消费者模型

一种解决问题的方法生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。基于队列实现生产者消费者模型# -*- coding: utf-8 -*-"""Created on Sun Dec 15 10:09:54 ...

2019-12-15 14:28:14 98

原创 Python进程相关(二)互斥锁、进程队列

-互斥锁对于模拟多人查票抢票票数放在文件中db.txt{"count":1}程序from multiprocessing import Processimport jsonimport timeimport randomimport osdef search(): time.sleep(random.randint(1,3)) dic=json.load(open(...

2019-12-15 10:04:16 126

原创 Python进程相关(一)

跟的视频,写这个博客就是为了督促自己,不写不看的话很快就忘记了吧。我就是想打好基础,慢慢来。子进程会完全拷贝父进程的地址空间作为自己的初始状态开进程的两种方式法一:常用#multiprocess类 #创建进程 #进程同步部分 #进程池部分 #进程之间数据共享 #线程与进程之间的接口是一样的#Process类创建进程的两种方式 #方式一...

2019-12-14 21:53:32 135

转载 ubuntu有线网卡RTL8111/8168/8411安装驱动

sudo apt-get install r8168-dkms

2019-12-06 19:20:56 3379 1

原创 C语言动态内存分配

只是为了方便回顾C语言动态内存分配

2019-12-06 15:34:25 65

转载 Python-什么是异常处理以及异常处理的两种方式

错误语法错误逻辑错误异常,即程序运行时发生错误的信号异常的追踪信息traceback异常的类型NameError异常值Python中的异常种类在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,一个异常标识一种错误AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError ...

2019-12-02 15:27:37 479

原创 linux系统中没有unistr.c头文件解决办法

sudo apt-get install libunistring-devunistr.h is installed as part of GNU libunistring.

2019-12-02 10:23:48 372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除