搜索到与相关的文章
Linux

Linux 多线程应用中如何编写安全的信号处理函数

在开发多线程应用时,开发人员一般都会考虑线程安全,会使用pthread_mutex去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如SIGUSR1、SIGRTMIN等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景,没有考虑编写安全的信号处理函数的一些规则。本文首先介绍编写信号处理函数时需要考虑的一些规则;然后举例说明在多线程应用中如何构

系统 2019-08-29 22:23:03 2588

编程技术

iphone 与 ipad 的自动布局

在InterfaceBuilder里,可以使用structs和spring方式设置一个view的autoresizing属性,可以理解为,上下左右的红线是4根柱子,中间的宽高是两根弹簧。例如,如果左侧选中了红线,表示这个view的左侧间距是固定的。如果中间选中了横的红线,说明这个view的宽度可以随superview自动调整。要注意,这跟通过代码设置是不一样的!代码里,如果设置了view.autoresizingMask=UIViewAutoresizin

系统 2019-08-12 09:30:20 2588

编程技术

IE提示“存储空间不足,无法完成此操作”的错误

是由于用showModalDialog打开的窗口里,用到获取浏览器版本(navigator.userAgent)的时候会出现解决方法:1、打开注册表cmd—regedit2、找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings\5.0\UserAgent\PostPlatform3、删除上图中的字符串键值,重启IE就好了IE提示“存储空间不足,无法完成

系统 2019-08-12 09:29:41 2588

各行各业

storm学习之入门篇(二)

Strom的简单实现Spout的实现对文件的改变进行分开的监听,并监视目录下有无新日志文件添加。在数据得到了字段的说明后,将其转换成tuple。声明Spout和Bolt之间的分组,并决定tuple发送给Bolt的途径。Spout中open、nextTuple和delcareOutputFields方法的逻辑:declareOutputFileds()决定了tuple发射的格式,这样的话Bolt就可以用类似的方法将tuple译码。Spout持续对日志文件的数

系统 2019-08-12 09:27:38 2588

各行各业

winPcap_6_不用回调方法捕获数据包

用pcap_next_ex()函数代替_5_中的pcap_loop()函数;pcap_loop()函数是基于回调的原理来进行数据捕获,这是一种精妙的方法,并且在某些场合中,它是一种很好的选择。然而,处理回调有时候并不实用--它会增加程序的复杂度,特别是在拥有多线程的C++程序中。可以通过直接调用pcap_next_ex()函数来获得一个数据包--只有当编程人员使用了pcap_next_ex()函数才能收到数据包。这个函数的参数和捕获回调函数的参数是一样的-

系统 2019-08-12 09:27:11 2588

各行各业

百度Clouda的初步探索

最近一直比较关注百度Clouda,参加了数次百度Clouda团队举办的技术沙龙,也利用了一些时间读了开发文档,下面谈谈我对这个框架的初步理解:1.轻应用和Clouda的区别和联系:“轻应用”这个词是百度提出的,但是轻应用的概念并不新,是在原来HTML5WebApp加入了即搜即用的特色,其他的特点与HTML5WebApp是完全一样的。轻应用=HTML5WebApp+即搜即用百度世界大会上所讲的:“移动搜索+轻应用”是满足海量中长尾需求的最佳模式,可以有效解决

系统 2019-08-12 09:26:49 2588

数据库相关

工作笔记总结——数据库

1、在Mysql的客户端软件中输入多条sql语句时,如果想要执行某条语句,最好把其他的删掉,否则可能会导致你想要执行的sql不是你想要的结果,我就犯过这样的错误,明明sql写的没问题,执行后总是不对,后来发现有多条sql在一个编辑框中,不像oracle的客户端,它会执行被选中的sql,如果没有选中任何语句会全部执行。2、DB2中表的字段长度是根据字符所占字节数,中文占2个,在项目中,在页面中队某些输入字段对长度进行校验时,明明数据库长度为50个,但是超过2

系统 2019-08-12 01:55:40 2588

Oracle

oracle 11g 更改字符集,9i导入11g 出现 ORACLE

工作需要,安装装了oracle11g,在导入其他机器上的备份数据的时间,发生一个错误:IMP-00019:由于ORACLE错误12899而拒绝行IMP-00003:遇到ORACLE错误12899ORA-12899:列"ZHENG"."D_DIC"."DICEXPLAIN"的值太大(实际值:140,最大值:100)这个数据表结构是直接注入的,根本不会这样子的啊。后来在网上查了才知道原来是字符集的问题:在日志文件里,开始导入时候有这样一个提示:"已经完成ZHS

系统 2019-08-12 01:55:03 2588

Oracle

三思涂抹oracle(笔记)

http://book.51cto.com/art/200912/169166.htm三思涂抹oracle第7章备份与恢复基础7.1备份概念所谓备份,其实就是冗余,本质是将当前的数据复制一份(也可能是多份)到其他位置,这样当原始数据由于各种原因导致无法访问或错误时,DBA可以通过冗余将其修复到备份时的状态。7.2.备份类型Oracle中的备份从类型上可以分为两类:物理备份和逻辑备份。物理备份的核心是复制文件。对于Oracle数据库来讲,就是将数据文件、控制

系统 2019-08-12 01:54:40 2588

SqlServer

sqlserver 自学笔记之 常量,变量及函数

(1)全局变量。输入以下sql语句,根据查询结果,了解sqlserver全局变量的含义select@@VERSIONselect@@CONNECTIONSselect@@CURSOR_ROWSselect@@errorselect@@languageselect@@optionsselect@@PROCIDselect@@ROWCOUNTselect@@SERVERNAMEselect@@SERVICENAME(2)局部变量①声明一个CHAR类型的局部变量

系统 2019-08-12 01:54:38 2588