work

【Python与线程】

谁说胖子不能爱 提交于 2019-11-27 02:50:18
原文: http://106.13.73.98/__/6/ 目录 一、全局解释器锁GIL 二、Python线程模块的选择 三、线程的创建 三、锁机制 四、信号量 五、事件 六、条件 七、定时器 八、线程队列 九、线程池 补充:线程安全 import threading obj = threading.local()# local():可实现,多线程操作某一数据,不会出现数据混乱的情况# 原理:空间换时间 def add(i): obj.n = i print(i, obj.n, threading.current_thread().ident) for i in range(20): th = threading.Thread(target=add, args=(i,)) th.start() 一、全局解释器锁GIL Python代码的执行由Python虚拟机(也叫解释器主循环)来控制。Python在设计之初就考虑到要在主循环中同时只有一个线程在执行。虽然Python解释器中可以“运行”多个线程,但在任意时刻只有一个线程在解释器中运行. 对于Python虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁保证了同一时刻只有一个线程在运行. 同一时间点,GIL只允许同一个进程中的一个线程访问cpu,即CPython解释器中没有真正的线程并行,只有进程可以实现。故I/O操作多时

featurebining

霸气de小男生 提交于 2019-11-27 01:47:45
#!/usr/bin/env python # -*- coding: utf-8 -*- # # Copyright 2019 The FATE Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing

渐进式web应用开发---Service Worker 与页面通信(七)

一个人想着一个人 提交于 2019-11-26 23:49:07
/*--> */ /*--> */ 阅读目录 一:页面窗口向 service worker 通信 二:service worker 向所有打开的窗口页面通信 三:service worker 向特定的窗口通信 四:学习 MessageChannel 消息通道 五:窗口之间的通信 六:从sync事件向页面传递消息 回到顶部 一:页面窗口向 service worker 通信 Service Worker 没有直接操作页面DOM的权限。但是可以通过postMessage方法和web页面进行通信。让页面操作DOM。并且这种操作是双向的。 页面向service worker 发送消息,首先我们要获取当前控制页面的 service worker。可以使用 navigator.serviceWorker.controller 来获取这个service worker. 之后我们就可以使用 service worker 中的 postMessage() 方法,该方法接收的第一个参数为消息本身,该参数可以是任何值,可以是js对象,字符串、对象、数组、布尔型等。 比如如下代码是 页面向service worker 发送了一条简单对象的消息: navigator.serviceWorker.controller.postMessage({ 'userName': 'kongzhi', 'age': 31

常见的英文面试问题

柔情痞子 提交于 2019-11-26 21:24:48
个人介绍类: 1 . Could you introduce yourself in English ? 2 . What are your greastest strengths ? 3 . What are your greastest weaknesses ? 4 . How do you spend your spare time ? 5 . How would your friends describe you ? 6 . What else should I know about you ? 求职应聘类: 1 . Why are you interested in working for our company ? 2 . Why are you leaving your present job ? 3 . Do you know much about our company ? 4 . What kind of work do you want to do ? 5 . What are your expectations of your future employer ? 6 . What goals have you set for yourself and how are you planning to achieve them ? 7 . Why do you

presto的动态化应用(一):presto节点的横向扩展与伸缩

老子叫甜甜 提交于 2019-11-26 20:30:58
一、presto动态化概述   近年来,基于hadoop的sql框架层出不穷,presto也是其中的一员.从2012年发展至今,依然保持年轻的活力(版本迭代依然很快),presto的相关介绍,我们就不赘述了,相信看官多对presto有或多或少的了解,详细的一些说明可以看官网(https://prestodb.io)的说明.   presto自身功能和思想富有先进性,虽然由于是内存计算,稳定性方面还有很大提升空间,但整体依然在adhoc方面有很好的竞争力,我们本次介绍针对我们团队对于presto部分应用个性化定制功能的阐述,如果设计不合理或有待改进的方面,请大家多多反馈,我们共同进步.   由于我们团队是围绕着hadoop相关项目进行,对于大数据的即席查询的需求是无可避免,最终选用presto和impala两款即席查询工具.一款新的开源工具从测试到生产环境,除了必要的覆盖测试,还要自动部署, 监控, 预警 , 日志分析 , 异常处理等等功能,还有一些来源业务部门的需求进行调整及改进(主要针对sql和易用性,性能改进,可后续其他系列文章进行说明). 我们针对presto动态开发,主要体现于三个方面: presto节点的横向扩展与伸缩(动态资源) presto的配置动态化(消除presto本地配置) presto动态加载更新插件(不停服务情况下,自动增加或升级插件) 二、资源动态化

搭建git服务器

北战南征 提交于 2019-11-26 18:37:43
原文: http://www.rosoo.net/a/201102/10956.html 环境: Linode Ubuntu12.04 64位 安装配置git服务器 安装git和openssh: a@server:~$ sudo apt-get install git-core openssh-server openssh-client 新加用户git, 该用户将作为所有代码仓库和用户权限的管理者: a@server:~$ sudo useradd - m git a@server: ~$ sudo passwd git 建立一个git仓库的存储点: a@server:~$ sudo mkdir /home/repo 让除了git以外的用户对此目录无任何权限 a@server:~$ sudo chown git:git /home/ repo a@server: ~$ sudo chmod 700 /home/repo 安装配置gitosis 初始化一下服务器的git用户,这一步其实是为了安装gitosis做准备。在任何一 台机器上使用git,第一次必须要初始化一下: a@server:~$ git config --global user.name " myname " a@server: ~$ git config --global user.email " myname

No application found. Either work inside a view function or push

限于喜欢 提交于 2019-11-26 15:58:20
No application found. Either work inside a view function or push 在使用flask的时候出现这种报错,应该是在部署蓝图的时候想要创建数据表出现了缺少命令配置的操作,可以试一试这一种方法 pip install flask_migrate pip install flask_script 1.首先安装这两个模块,这是两个配合蓝图的模块,pip install flask_migrate惰性建表,pip install flask_script配置命令行,不会像create_all()和drop_all()这样每一次更新表都要删了重建 2.在flask项目根目录下创建manage.py ,与app.py等同级,不要弄错了 3.在manage.py中添加 from flask_migrate import Migrate,MigrateCommand from flask_script import Shell,Manager from app import app from models import db #让其受指令控制 manage = Manager(app) #绑定数据可迁移指令 migrate = Migrate(app,db) #添加指令到数据库指令包当中 manage.add_command('db'

我看team work

拜拜、爱过 提交于 2019-11-26 15:30:28
一个人生活在现代社会中,若说不懂如何与人合作,是绝对无法长久立足的。而合作共同完成一项工作,必不可少的就是要评价各个人对团队的贡献和成效,衡量作为一个团队中的一员的表现。 这个问题,有时难有时易,当然要根据事实情况的不同来“具体问题具体分析”了。完成工作的多少自然是一定要考虑的,然而只重视量而忽略了质依然不合理。举个例子,一组工人搬砖头,如果说将砖头随便一丢至目的地而导致了满地残渣,其他队员该接受这个表现最好的说法吗?自然不会。再说一个剧组排演话剧,一般来说,我们貌似都是把主角们视作关注的焦点,认为他们自然是对剧组贡献最大的。但其实又如何能够否认整个剧幕下那些不太吸引眼球的角色的功用,比如说一棵树、一个龙套,没有了这些那些的“微不足道”,什么的都不可能完整。只要做到各司其职,并且司到最好,是出色的团队绩效不可或缺的因素。 再拿我们做软件工程的项目为例,什么 PM , Test 的,码 code 的,要做出一个好的项目还真是不容易啊,牵扯到各式各样的角色分配和相互之间的胡作。每个队员最起码要做到的就是完成自己应该做的部分,也就是按时按量按质。任何一个分支的拖欠 delay 都会给整个项目的进展带来很大的困难,就好像旋转的链条某一小节出了 bug ,整条链子上的其他部分都得停下自己的脚步等待。这样一来,损失是不是蛮严重的呢?所以,我认为吧,要评判某个成员的绩效

[导入]SuSE SLED still can't work on my computers.

只谈情不闲聊 提交于 2019-11-26 15:16:44
I installed SuSE Linux Enterprise Desktop 10 on my Desktop computer and Benq Joybook 3000 notebook. Both of them can't wake up from suspend. I try to disable ACPI when start up from GRUB and my notebook can wake up, but screen can't restored and displays error image. Time is limited for me, so I won't try more. If suspend to ram can't work on both of them, it should be regret to SuSE SLED 10. 文章来源: http://www.hesicong.net/pjblog/default.asp?id=50 转载于:https://www.cnblogs.com/hesicong/archive/2006/08/28/648679.html 来源: https://blog.csdn.net/weixin_30596735/article/details/98913574