从事实时计算多年,熟悉jstorm/spark/flink/kafka/rocketMq, 热衷于开源,希望在这里和前辈们一起学习与分享,得到长足的进步!邮箱:hustfxj@gmail.com 我的githup地址是:https://github.com/hustfxj。欢迎和大家一起交流探讨问题。
发布时间:2014-04-13 13:29:29
私有数据使用1.为什么需要线程私有数据:原因一:有时候需要维护基于每个线程的数据,用线程ID作为索引。因为线程ID不能保证是小而连续的整数,所以不能简单的分配一个线程数据数组,用线程ID作为数组的索引。即使线程ID确实是小而连续的整数,可能还希望有一些额外的保护,以防止某个线程的数据和其它线程的数据相混.........【阅读全文】
发布时间:2014-01-20 10:41:46
简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出.........【阅读全文】
发布时间:2014-01-13 13:38:20
我的环境是 Ubuntu11.10 发行版. 内核版本是3.0.0因为 APUE 使用的是 nawk, 而 Ubuntu 自带的是 nawk, 应该是不修改可以直接使用的.网上也有些方法是要安装 gawk 然后修改 std/linux.mk 将两个 nawk 改为 gawk 来实现的. (要放在 make 之前)所以, 就要使用如下命令来安装 gaw.........【阅读全文】
发布时间:2014-01-13 12:55:11
Wait和waipid函数 当一个进程正常或异常终止的时候,内核就像其父进程发送SIGCHLD信号,因为子进程是个一步事件,所以这种信号也是内核系那个父进程发的异步通知。父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用执行的函数。对于这种信号的系统默认动作是忽略它。现在要知道调用wait或wai.........【阅读全文】
发布时间:2014-01-06 15:09:14
在《UNIX环境高级编程》学习中,在第四章的程序清单4-7中,发现了一个“错误”。发现即使apue.h中声明了path_alloc()这个函数,但是在编译程序清单时还是会提示path_alloc()未定义。这其实并不是错误,因为我本来就没有这个函数的实现。如果我在第二章看得仔细的话,就能发现原来path_alloc()的实现在程序清单2-3中。.........【阅读全文】