`
luckyclouds
  • 浏览: 108956 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
转自http://www.iteye.com/magazines/66

erlang的陷阱

转自http://blog.csdn.net/dp0304/article/details/7381891 1. 耗尽atom 因为atom是不会被垃圾回收的,所以如何程序运行时生成太多的atom,(例如在无穷循环里,每次循环都调用几下list_to_atom),atom table会被塞满,然后erlang就当掉了 2。进程的耗尽 如果你spawn了太多unlink的不会终止的进程,而且这些进程你都不保存它们的Pid,这样你就失去了和这些进程的联系(和引用),这可以看成是进程泄漏,(有点像内存泄漏),随着越来越多的进程泄漏。。。,然后erlang就当掉了 3。洪泛消息到一个进程的mail ...

C语言初级优化

    博客分类:
  • c
程序进行优化,通常是指优化程序代码或程序执行速度。优化代码和优化速度实际上是一个予盾的统一,一般是优化了代码的尺寸,就会带来执行时间的增加,如果优化了程序的执行速度,通常会带来代码增加的副作用,很难鱼 ...
int main() { char a[1000]; int i; for(i=0; i<1000; i++) { a[i] = -1-i; } printf("%d",strlen(a)); return 0; } 此题看上去真的很简单,但是却鲜有人答对。答案是255 for 循环内,当i 的值为0 时,a[0]的值为-1。关键就是 ...
load average一般可以通过top或者uptime观察到,格式如下: load average: 0.10, 0.05, 0.58 分别代表了最近1分钟,5分钟,15分钟CPU的平均负载情况 如果是单核CPU的话,1.00就表示CPU已经满负荷了, 如果是多核CPU的话,load average达到CPU的核数即说明该CPU已经满负荷了, 如果是多颗物理CPU,则当load average达到所有物理CPU的总核数时,说明系统CPU满负荷了。 简而言之,CPU的核数即为我们根据load average衡量CPU负载的依据。 那么当CPU负载达到哪个值时,就该引起我们注意了呢?按照参 ...

位数组

#define CHAR_BIT (8) #define BITMASK(b) (1 << ((b) % CHAR_BIT)) #define BITSLOT(b) ((b) / CHAR_BIT) #define BITSET(a, b) ((a)[BITSLOT(b)] |= BITMASK(b)) #define BITCLEAR(a, b) ((a)[BITSLOT(b)] &= ~BITMASK(b)) #define BITTEST(a, b) ((a)[BITSLOT(b)] & BITMASK(b)) #define BITNSLOT ...
转自:http://www.linuxidc.com/Linux/2011-02/32499.htm 在/system/build.prop中设置: 对于HVGA屏,设置ro.sf.lcd_density=160 对于WVGA屏,设置ro.sf.lcd_density=240 下文对于lcd_density的设置讲解的很清楚。 我的是800x600的屏,在Android 的Notifications没有达到满屏幕宽度 原以为就是xml布局文件的问题,直接找到确定其布局的文件status_bar_expanded.xml,发现并无异样,也就是并非是此问题导致。由于经常使用emul ...
1、Angle Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量 ...
http://blog.csdn.net/andypan1314/article/details/6411786

itoa

    博客分类:
  • c
#include <stdio.h> void itoa (int n,char s[]);//atoi 函数:将s转换为整形数 int main(void ) { int n; char s[100]; printf("Input n:\n"); scanf("%d",&n); printf("the string : \n"); itoa (n,s); return 0; } void itoa (int n,char s[]) { int i,j,sign ...

atoi

    博客分类:
  • c
#include <ctype.h> #include <stdio.h> int atoi (char s[]); int main(void ) { char s[100]; gets(s); printf("integer=%d\n",atoi(s)); return 0; } int atoi (char s[]) { int i,n,sign; for(i=0;isspace(s[i]);i++)//跳过空白符 ; sign=(s[i]=='-')?-1:1 ...
1、多线程编译使用-D_REENTRANT,如: gcc -D_REENTRANT -lpthread -o test test.c 2、头文件定义了一些标准库函数的reentrant变化的原型 3、重新定义了errno,让多线程函数有一个自己的安全的errno,而不是全局的。宏定义如下: #define errno (*(__errno_location()))
linux下查看进程 所占用的cpu和mem ps -o %cpu,%mem -p pid 获取用ps -elf也可以查看到
今天下载了redis-2.2.4在Red Hat Enterprise Linux Server release 5.4 (Tikanga) vm虚拟机上编译没问题,但是在make test的时候 卡住在BRPOPLPUSH with multiple blocked clients测试操作,后来找了一台centos上是了一下没问题,具体原因现在还没查到。
今天在一台Red Hat Enterprise Linux Server release 5.4 (Tikanga)上 执行erl -name sfsdf 报如下错误: [root@cloudbox ejabberd]#erl -name sfsdf {error_logger,{{2011,4,13},{14,28,4}},"Can't set long node name!\nPlease check your configuration\n",[]} {error_logger,{{2011,4,13},{14,28,4}},crash_report,[[{initia ...
Global site tag (gtag.js) - Google Analytics