关闭

再谈Python多线程--避免GIL对性能的影响

GIL是CPython中特有的全局解释器锁(其它实现版本因为有自己线程调度机制,所以没有GIL机制)。本质上讲它就是Python进程中的一把超大锁。这把锁在解释器进程中是全局有效的,它主要锁定Python线程的CPU执行资源。 换句话说,在CPython解释器中当一个线程需要执行CPU进行计算之前,它需要先获得这把大锁;否则即使已经被操作系统调度出来,但仍然无法执行计算。所以CPytho...
阅读(36) 评论(0)

再谈Python多线程--threading各类锁

使用多线程的好处是提高执行效率,但同时带来了数据同步的问题。即多个线程同时对一个对象进行操作时,可能会出现资源冲突的问题;在不加锁的情况下,代码可能并未像我们想向的那样工作。举个栗子: import threading n = 2 max_n = 10000 x = 0 def countup(n): global x for i in range(n): x...
阅读(29) 评论(0)

再谈Python多线程--正确的使用场景

多线程是编程过程中经常会使用到的手段,其目的是为了能提高任务执行的效率。在Python中,我们都知道实现多线程主要有2种方式: 使用threading.Thread()方法继承threading.Thread类 一个简单的多线程的样例如下: import threading l = [] n = 2 max_n = 10000 x = 0 def countdown():...
阅读(51) 评论(0)

gunicorn + Flask架构中使用多进程全局锁

有之前的认识WSGI和WSGI的前世今世之后,现在就可以介绍如何在gunicorn + Flask架构模式下,在Flask处理线程中使用全局锁。 说到锁在Python中也有很多锁,最常见用的就是多进程锁(multiprocessing.Lock)和多线程锁(threading.Lock)。正常情况下,我们是可以直接使用这些锁的。多进程锁可以在多个子进程中实现锁定临界资源的功能,而多线程锁...
阅读(88) 评论(0)

WSGI的“前世今生”

前面有一篇文章介绍了WSGI接口规范,这里把与WSGI相关的一系列协议与规范进行了梳理,可以更好的理解WSGI的概念。本文章涉及到的相关内容有: cgiFastcgiWSGI【mod_wsgi】uWSGI/uwsgi 1、cgi cgi全称是"公共网关接口"(Common Gateway Interface),它是一个古老的通信接口协议;可以适用于所有的脚本语言。其工作方式是当用户有...
阅读(21) 评论(0)

认识WSGI

WSGI是Web Server Gateway Interface的缩写。它是Python专有的一种接口规范(其它语言也有类似的规范,只是名字不一样而已,Python则是第一个提出该规范的语言)。该规范规定了WEB服务器与WEB应用框架之间的通信方式。 首先,WEB应用需要提供一个可调用的接口(如:函数);该接口接收2个参数: 第一个参数是当前请求所有请求信息的字典对象第二个参数是一个...
阅读(22) 评论(0)

python windows第三方编译安装包下载站点

windows下需要编译安装的第三方包,如果自己下载编译没有C++编译环境,通常是安装不成功的。 而从该http://www.lfd.uci.edu/~gohlke/pythonlibs/网站直接下载已编译的安装包则可以成功安装。...
阅读(124) 评论(0)

Python实现点阵字体读取与转换

点阵字体是指根据文字的像素点来显示的字体,效果如下: 使用Python读取并显示的过程如下: 根据中文字符获取GB2312编码通过GB2312编码计算该汉字在点阵字库中的区位和码位通过区位和码位计算在点阵字库中的偏移量基于偏移量获取该汉字的32个像素存储字节解析像素字节获取点阵坐标信息在对应的坐标显示信息位。如该像素点是否显示点亮 使用该代码前提:下载点阵字体库到本地,这...
阅读(124) 评论(0)

docker镜像创建与基本使用

查看镜像 在docker环境安装完成之后,对docker的使用主要集中在docker镜像的管理与使用。首先是docker镜像的管理,查看本地有哪些镜像可以使用命令: docker images 运行镜像 查看到本地有哪些镜像后,就可以来运行已有的镜像了,使用命令: docker run -t -i ubuntu:15.10 /bin/bash 如果该镜像不存在,会自动尝试下载对...
阅读(416) 评论(0)

mysql: "tablename" is marked as crashed and should be repaired修复 问题分析: 当mysql出现这类提示时,大部分的现象为查询不到正常的

问题分析: 当mysql出现这类提示时,大部分的现象为查询不到正常的表记录,或者只能查询到部分。 主要的原因是对应表的索引文件被损坏,导致索引文件损坏的可能原因有: 频繁的读写表记录数据库服务器非正常关闭,比如:断电 问题修复: 好在mysql提供了索引文件的修复工具,通过修复功能一般都可以使数据修复正常。 修复工具之前搜索有2个: myisamchk -c -r -f ...
阅读(286) 评论(0)

java日期操作自定义类

每次当需要对日期进行处理的时候,总是会记不住库、方法和格式,所以就自己简单封装了下;包含了大部分功能,部分不常用的没有实现。 package com.tunicorn.marketing.utils; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; im...
阅读(280) 评论(0)

python的requests发送/上传多个文件

1、需要的环境 Python2.X Requests 库 2、单字段发送单个文件 在requests中发送文件的接口只有一种,那就是使用requests.post的files参数, 请求形式如下: url = "http://httpbin.org/post" data = None files = { ... } r = requests.post(url, data,...
阅读(3762) 评论(1)

Windows7下git配置difftool

git下载与安装 git官网https://git-for-windows.github.io/下载git bash客户端按照步骤进行安装即可 winmerge下载与安装 winmerge官网http://winmerge.org/downloads/下载安装包按照步骤进行安装即可 配置winmerge 进入git bash环境切换到主目录【cd ~】编辑...
阅读(756) 评论(0)

SQLAlchemy批量插入性能比较

import time import sqlite3 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String, create_engine from sqlalchemy.orm import scoped_session, sessionmak...
阅读(2661) 评论(1)

python实现的模板生成脚本

最近项目需要,针对主项目提取一个小的基础版本,供于在新建项目时使用,所以就有这个python模板生成脚本,其作用如下: 1、通过配置文件来控制模板中的数据、格式化的过滤条件 2、执行后会把目录下所有的文件都会执行一篇 #!/usr/bin/python #encoding: utf-8 import json import codecs import os def get_f...
阅读(1117) 评论(0)

javasript利用jquery发送请求的各种方法

Jquery发送ajax请求的方法有很多,其中最基本的是$.ajax方法,在其之上封装的方法有 $.get, $post, $.put, $.ajaxForm, $fileUpload等。而在这些上层的方法中,后两个为jquery的插件所提供,如果需要用到的话,还需要引入对象的js库文件。这里我们记录下各方法的使用及ajax方法最原始的调用方式。 $get方法: $.get( 'ht...
阅读(749) 评论(0)

java jackson库各对象之间转换

java对象 到 json字符串 Model model = new Model(); model.setAge(25); List models = new ArrayList(); models.add(models); ObjectMapper mapper = new ObjectMapper(); mapper.writeValueAsString(model); mapper.wr...
阅读(592) 评论(0)

2.4,2.6,3.0+各mongo版本的用户及权限添加方法

mongo开启用户验证 mongod数据库服务默认是不开启用户认证的,此时任何的client端都可以连接并访问mongo服务,只有是网络可以连通即可。 如果需要支持用户认证的功能,则必须要先主动开启该功能,主要的方式就是在启动命令的时候添加一个--auth参数即可,如下清单 /usr/bin/mongod --config /etc/mongodb.conf --auth通过上述命令启动的m...
阅读(1917) 评论(0)

java在spring mvc中的图片接收与发送处理

1、作为client发送和获取图片 1.1、发送图片 作为client时发送图片通常是通过from-data的multipart形式来发送的,这时我们就在模拟浏览器的form文件表单来提交请求,multipart形式的form表单内容一般如下清单: 对于这样的一个表单,当用户在点击submit时浏览器就会自动的组装一个multipart形式的POST请求,具体的请求体内容...
阅读(3041) 评论(0)

Jmeter获取Cookie并传递到下一个线程

Jmeter是测试过程中会被用到的一个测试工具,我们即可用来进行压力的压测,也可以用来对接口进行功能检查,不仅仅是HTTP的结果,还有DB、TCP、FTP等等。当然它还有很多其它有用的功能,比如代理服务器、镜像服务器、telnet等等。今天主要说的是它的Cookie管理器,因为在使用这个功能的时候踩过了坑,也没有找到其他梳理过。 在Jmeter里对Cookie进行存取时需要用到HTTP Cook...
阅读(7662) 评论(2)
196条 共10页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1560502次
    • 积分:11736
    • 等级:
    • 排名:第1437名
    • 原创:167篇
    • 转载:28篇
    • 译文:1篇
    • 评论:158条
    文章分类
    最新评论