Python 实用编程技巧(多进程篇)

一、为什么选择多进程编程

我们在多线程篇说过 Python 有一个 GIL 锁,这导致我们无法发挥多核CPU 的性能,于是对于一些耗CPU 的操作(比如:计算、图像处理),我们使用多线程编程显得就不那么好,于是我们采用多进程编程,这样就能充分利用CPU 并发来提高运行的效率(多I/O操作的尽量使用多线程编程,这样不会影响性能)

Python 实用编程技巧(多线程篇)

一、GIL(global_interpreter_lock)

1.概念:

Python 一开始为了简单,在多线程编程的时候会在我们的解释器上加一个非常大的锁,也就是允许我们一次只有一个线程运行在一个CPU上,gil 就能实现在同一时刻只有一个线程在CPU上执行字节码(目的当然是保证线程安全),当然他的性能也是非常让人诟病,因为他也无法将多个线程映射到多个CPU上(体现不出多核CPU的优势)

C语言编程进阶教程(详细)

0X00 前言

全文已经备份在我的github上,地址:https://github.com/K0rz3n/C-Advanced-programming/blob/master/C-Advanced.md

C 语言作为所有语言的基础地位是可想而知的,但是可能对于我 平时写的比较少,当初学的也不是很深入,但是很多看似平常的编程中其实涉及到很多理论性的东西,需要我们站在编译器的角度看问题,我越到后面发现这一块知识的空缺的危害,于是趁着还有时间,赶紧回炉重造一下,简单的记录一下,作为备忘。

0X01 数组做函数参数的退化问题

Git 基本操作

前言

我之前也没怎么用过github联合多人写项目,对git的操作也是一知半解,但是总是逃不掉的,最近为了填我4个多月前立下的flag,我不得不学习一下git 的操作,并完成项目的 PR,下面就是我的一些记录。

git 基本概念

git 本地有三个重要的区域,我们平时都是在这四个区域中进行操作的

Linux 反弹shell(二)反弹shell的本质

0X00 前言

在上一篇文章 Linux反弹shell(一)文件描述符与重定向,我们已经讨论过了反弹shell中最核心也是相对较难理解的部分,那么接下来我们就可以正式借反弹shell的实例分析回顾前一篇文章讲的知识,并且也加深对反弹shell的理解吧。

0X01 什么是反弹shell

reverse shell,就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。

|