小结: 1. python的妥协 2. As we know, threads are a bad idea, (for most purposes). Threads make local reasoning difficult, and local reasoning is perhaps the most important thing in software development. With the word “threads”, I am referring to shared-st…
在应用开发中,我们经常需要设置一些上下文(Context)信息,这些上下文信息一般基于当前的会话(Session),比如当前登录用户的个人信息:或者基于当前方法调用栈,比如在同一个调用中涉及的多个层次之间数据. 在.Net中,常用的有以下三种方法来实现这个特性. HttpContext.Current.Session或HttpContext.Currnet.Items是大家使用的最多的方式. [ThreadStatic]方式可以存储单个线程的共享状态. System.Runtime.Remoti…
1.进程和线程 (1)进程是一个执行中的程序.每个进程都拥有自己的地址空间.内存.数据栈以及其他用于跟踪执行的辅助数据.进程也可以派生新的进程来执行其他任务,不过每个新进程都拥有自己的内存和数据栈,所以只能采用进程间通信(IPC)的方式共享信息. (2)线程与进程类似,不过他们是在同一个进程下执行的,并共享相同的上下文.线程一般是以并发方式执行的,但是在单核CPU中真正的并发是不可能的,:每个线程运行一小会儿,然后让步给其他线(再次排队等待更多的CPU时间).但是,多线程访问同一片数据,由于访问…
TF数据读取队列机制详解 一.TFR文件多线程队列读写操作 TFRecod文件写入操作 import tensorflow as tf def _int64_feature(value): # value必须是可迭代对象 # 非int的数据使用bytes取代int64即可 return tf.train.Feature(int64_list=tf.train.Int64List(value=[value])) num_shards = 2 instance_perPshard = 2 for i…
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓“寸有所长,尺有所短”就是这个道理. 一般来说GDB主要调试的是C/C++的程序.要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中.使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点.如: > cc -g hello.c…
https://www.cnblogs.com/yeungchie/ 记录一些常用的 模块 / 方法 . 多线程 使用模块 threads use 5.010; use threads; sub func { my $id = shift; sleep 1; print "This is thread - $id\n"; } 创建线程 new sub start { my $id = shift; my $t = new threads \&func, $id; return…
注: 以下内容引自http://blog.csdn.net/xtayfjpk/article/details/52136686 请注意写代码的习惯与态度(Java) 原创 2016年08月06日 16:05:17 标签: java / 代码 / 习惯 / 态度 763 我相信很多人都有看别人代码的经历,我也相信很多人看过之后都在心里吐槽:这是哪个SB写的代码,还没有来得及看业务逻辑就因到处充斥着各种代码的"坏味道",让你根本没信心能看懂这些代码,其导致的结果就是推倒重来.那么,不禁要问…
1.启动调试 前置条件:编译生成执行码时带上 -g,如果使用Makefile,通过给CFLAGS指定-g选项,否则调试时没有符号信息.gdb program //最常用的用gdb启动程序,开始调试的方式gdb program core //用gdb查看core dump文件,跟踪程序core的原因gdb program pid //用gdb调试已经开始运行的程序,指定pid即可gdb attach pid //用gdb调试已经开始运行的程序,指定pid即可 2.调试命令(1)执行命令模式-bat…
[转载]再谈百度:KPI.无人机,以及一个必须给父母看的案例 发表于 2016-03-15   |   0 Comments   |   阅读次数 33 原文: 再谈百度:KPI.无人机,以及一个必须给父母看的案例 转载:http://xiaoyu2er.github.io/2016/03/15/baidu-do-evil/ 2016年03月15日下午歪理邪说公众号发送如下消息: 果不其然到晚上7点之前, 文章已经被人举报, 本想截取微信公众号的各种评论现在也不行了. 好在已经有很多网站转载了这…
六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?   1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( 6 "select uid…
六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( 6 "select uid,…
项目的性能优化主要围绕CPU.GPU和内存三大方面进行. 无论是游戏还是VR应用,内存管理都是其研发阶段的重中之重. 然而,在我们测评过的大量项目中,90%以上的项目都存在不同程度的内存使用问题.就目前基于Unity引擎开发的移动游戏和移动VR游戏而言,内存的开销无外乎以下三大部分:1.资源内存占用:2.引擎模块自身内存占用:3.托管堆内存占用. 如果您的项目存在内存问题,一定逃不出以上三种情况.今天,我们就这三种情况逐一进行解释. 资源内存占用 在一个较为复杂的大中型项目中,资源的内存占用往往…
http://www.blogjava.net/freeman1984/archive/2007/09/27/148850.html 六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.cre…
有关web前端优化的博文,博客园中有许多网友的博客中都有介绍,而且详细.精准.楼主打算写这个博客,算是对自己一年工作来的一个总结和积累有些知识从别的地方拷贝过来的,但是都审查过. 引言: 1. 慢的页面可能会网站失去更多的用户.2. 慢500ms意味着20%的用户将放弃访问(google)3. 慢100ms意味着1%的用户将放弃交易(amazon) 通过上面列举的三个数据,可以看到web前端优化的重要性,而作为程序员,总有一股矫情劲,希望将自己开发出来的东西能更加的完美.:) 一.减少Http请…
转载自:http://www.jianshu.com/p/665261814e24 谈到iOS多线程,一般都会谈到四种方式:pthread.NSThread.GCD和NSOperation.其中,苹果推荐也是我们最经常使用的无疑是GCD.对于身为开发者的我们来说,并发一直都很棘手,如果对GCD的理解不够透彻,那么iOS开发的历程绝对不会顺利.这里,我会从几个角度浅谈我对GCD的理解. 一.多线程背景 Although threads have been around for many years…
谈到iOS多线程,一般都会谈到四种方式:pthread.NSThread.GCD和NSOperation.其中,苹果推荐也是我们最经常使用的无疑是GCD.对于身为开发者的我们来说,并发一直都很棘手,如果对GCD的理解不够透彻,那么iOS开发的历程绝对不会顺利.这里,我会从几个角度浅谈我对GCD的理解. 一.多线程背景 Although threads have been around for many years and continue to have their uses, they do…
<新巫师入门手册> 第一章:观念篇■ 内容提要:什么是巫师?怎样做一个巫师?如何做好一个巫师? 第二章:上手篇■ 内容提要:最简单的房间怎么写?NPC又怎么写?先看懂一些常用的参数? 第三章:理解篇■ 内容提要:什么是LPC?什么是函数.对象?只有理解才有利于消化 第四章:见习篇■ 内容提要:我要工作了,怎么edit?怎么update?又怎么用call? 第五章:补遗篇■ 内容提要:好好消化变量.函数的意义,完全掌握各种符号的运用. 巫师园地 入门手册 观念篇 第 一 章 观 念 篇  认 识…
启示--一个IT高管20在职场心脏经 第七章  关于销售 用"最"来形容公司的销售.能够用上若干的词汇: 最牛,最累,最精,最傻,最有钱,最贱,最能吹.最能装... 1.1  销售人得基本素养 善胜者不争,善争者不战.善战者不败,善败者不乱. 五勤:嘴勤.腿勤.手勤(勤读勤记).耳目勤(多看多听).脑勤(勤思勤省). 能吃苦:身体之苦,巨大的心理压力. Not too hard, to be smarter! 1.2  销售VS前锋 最重要的是"临门一脚". 拿下单…
2019年最大的Flag 今天是2019/1/15 我要立一个2019年的Flag:刻意的追求优秀>>>>>>>>>>>>勿以善小而不为 勿以恶小而为之                  ————有效期至2020/1/15…
gdb调试coredump文件 gcc -g main.c //在目标文件加入源代码的信息 gdb a.out (gdb) start //开始调试 (gdb) n //一条一条执行 (gdb) step/s //执行下一条,如果函数进入函数 (gdb) backtrace/bt //查看函数调用栈帧 (gdb) info/i locals //查看当前栈帧局部变量 (gdb) frame/f //选择栈帧,再查看局部变量 (gdb) print/p //打印变量的值 (gdb) finish…
AI即人工智能,对科幻着迷的博主对此认知颇深,打算从科幻电影入手,先讲下未来的AI将给人类带来哪些变化,哪些思考. 从最初的<星际航行>中的各种星球.地形等的介绍,到各个鉴于的探索,以及其中问题的出现和解决,Data即是AI的一个结果,存储大量信息.力量大.对人类好感.趋向人类情感的进化.舍己为人等行为和特征,具备定位和数据传输功能,成为人类向外星球传播文明的最佳伙伴.这其中介绍的宇宙飞船,以及其他辅助装置,必须有AI的元素在内,但DATA成为大多数人身边可能存在的对象,而给人印象深刻,它会不…
在JVM运行空间中,对象的整个生命周期大致可以分为七个阶段:创建阶段(Creation).应用阶段(Using).不可视阶段(Invisible).不可到达阶段( Unreachable).可收集阶段(Collected).终结阶段(Finalized).释放阶段(Free).经过上述的七个阶段,构成了JVM中对象的完整的生命周期.下面分别介绍对象在处于这七个阶段的不同情形. 创建阶段 对象在创建阶段,系统要经过一下的步骤,完成对象的创建过程: (1).为对象分配存储空间 (2).开始构建对象…
Percona XtraDB Cluster (下文简称PXC)是一个开源的mysql 高可用解决方案.它将Percona Server和Percona XtraBackup与Galera库集成在一起,实现同步多主复制.各节点的拓扑结构示意图如下图所示: 如图所示,PXC 各节点的地位是对等的,集群中的每个节点都可以用于读写,只要当集群中可用节点的数量处于多数时,整个集群就是可用的,在此基础上加上mysql的监控和 mysql proxy 的流量自动切换,这样就很大程度上解决了 mysql 的高…
作者:霍炬.  原文链接:http://www.donews.com/idonews/article/8147.shtm 没想到我之前的一篇关于百度的文章引起了这么大的反馈. 非常多朋友称赞我写的好,实际上并非如此.我仅仅是往一块顺着山坡向下滚的石头上踢了一脚而已. 人们对于百度早就积累了太多年的怨气,我仅仅是替大家说出来罢了. 这篇文章总共收到了将近900条评论,并且还在继续添加中.可惜微信仅仅能放出来50条精选评论.我真的非常想把全部评论都放出来.里面有各种受骗的个人经历.有对我的鼓舞.也有…
一.引言 在Linux下开发,肯定少不了与gdb打交道,而gdb的命令又非常多,有些是不常用的但是特殊情况下却是必须的,因此记录在此,以便翻阅 二.基本命令 前面是命令全名,在不混淆的情况下,可以简写为后面的单个字符 list l : 列出源代码run r : 运行程序step s : 单步运行(进入函数内部)next n : 单步运行(跳过函数执行)continue c : 继续执行print p : 打印变量值 p/x y:以16进制显示y的值,c表示字符,s表示字符创,f表示浮点数 pty…
六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? OutputStreamWriter out = ... java.sql.Connection conn = ... try { // ⑸ Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery( "select uid, name from us…
觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( 6 "select uid, name from u…
笔者从事开发多年,有这样一种感觉,查看一些开源项目,如Spring.Apache Common等源码是一件赏心悦目的事情,究其原因,无外两点:1)代码质量非常高:2)命名特别规范(这可能跟老外的英语水平有关). 要写高质量的代码,不是一件容易的事,需要长年累月的锻炼,是一个量变到质变的过程,但要写好命名,只需要有比较好的英语语法基础和一种自我意识即可轻松达到.本博文将会结合本人的开发经验,总结出若干命名规则,这些命名规则纯属个人的使用习惯,不代表是一种理想的规则,在这里列举出来,供大家交流讨论.…
C++ 11新标准中,正式的为该语言引入了多线程概念.新标准提供了一个线程库thread,通过创建一个thread对象来管理C++程序中的多线程. 本文简单聊一下C++多线程相关的一些概念及thread的基本用法. 0. 并行执行 程序并行执行两个必要条件: 多处理器(multiple processors)or 多核处理器(multicore processors) 软件并行 软件并发执行可分为两大类: 多线程并发  (同一个进程的多个线程并行): 多进程并发  (不同进程并行): 对于多线程…
一.前言 众所周知,netty是高性能的原因源于其使用的是NIO,但是这只是其中一方面原因,其IO模型上决定的.另一方面源于其线程模型的设计,良好的线程模型设计,能够减少线程上下文切换,减少甚至避免锁的竞争(无锁化设计)带来的开销. 本篇文章将介绍netty的线程模型设计,主要从以下几个方面: Reactor模式 Scalable IO in Java Netty中的线程模型 二.Reactor模式 Reactor模式是一种软件程序设计模式,它由Jim Coplien和Douglas C. Sc…