摘要:
转:http://blog.sina.com.cn/s/blog_4b5274df010007p4.html 今天发生了一点意外,也是必然中的意外.因为过于信任或者过于不信任,或者是对某些东西只是留于形式的了解. 晚餐的时候,和boss沟通,思维形式化的进入分析客观环境和同学的原因,还好话不多.但是还是boss一言让我折服!所有的问题都是出自你--负责人.你没有站在一个领导者的高度想问题和思考问题.然后是一些分析,每句都说在我心里. 什么才叫真正的站在领导者的角度想问题? 第一:你的团队成功了,或者把一个项目做好了.这只是你份内的事情,千万不要骄傲,会下蛋是一个母鸡应尽的责任和义务.如果你的团 阅读全文
摘要:
转:http://www.cnblogs.com/lenient/articles/1565376.html首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。rand(产生随机数)表头文件: #include定义函数 :int rand(void)函数说明 :因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand() 阅读全文
摘要:
1、每个POSIX线程有一个相连的属性对象来表示属性。线程属性对象的类型是pthread_attr_t,pthread_attr_t 在文件/usr/include/bits/pthreadtypes.h中定义。2、代码及运行结果:/* * pthreadAttr.c * * Created on: Aug 17, 2013 * Author: root */#include #include #include #include void * my_thread(void * arg){ int retval = 0; pthread_attr_t attr; s... 阅读全文
摘要:
1、pthread_key_t和pthread_key_create()线程中特有的线程存储, Thread Specific Data 。线程存储有什么用了?他是什么意思了?大家都知道,在多线程程序中,所有线程共享程序中的变量。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变量,所有线程都可以使用它,而它的值在每一个线程中又是单独存储的。这就是线程存储的意义。 线程存储的具体用法:(1)创建一个类型为 pthread_key_t 类型的变量。(2)调用 pthread_key_create() 来创建该变 阅读全文
摘要:
在Ubuntu下用eclipse cdt编写了一个多线程程序,但是总是出现pthread_create函数未定义!查找了下原因,原来是要对eclipse进行一些简单的设置:右键单击项目->Properties->(进行如下图所示的设置即可)还有一种方式是:按照上图所示,找到GCC C++ Linker,点击其下面的Libraries标签,在右面对话框中加入pthread,然后点击ok按钮保存即可。本篇文章来源于 Linux公社网站(www.linuxidc.com) 阅读全文
摘要:
转:http://blog.csdn.net/xing_hao/article/details/6626223一、互斥锁互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。 1. 初始化: 在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化: 对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init. 对于动态分配的互斥量, 在申请内存(malloc)之后, 通过pthread_mutex_init进行初始化, 并且在释放内存(free)前需要调用pt... 阅读全文
摘要:
1. 所谓线程就是“一个进程内部的一个控制序列”。也就是一个进程内部的并行的基础!2. Linux进程可以看成只有一个控制线程: 一个进程在同一时刻只做一件事情。有了多个控制线程以后, 在程序设计时可以把进程设计成在同一时刻能够做不止一件事, 每个线程处理各只独立的任务。即所谓并行! 3. 线程的优点: (1)通过为每种事件类型的处理分配单独的线程,能够简化处理异步时间的代码。 (2)多个线程可以自动共享相同的存储地址空间和文件描述符。 (3)有些问题可以通过将其分解从而改善整个程序的吞吐量。 (4)交互的程序可以通过使用多线程实现相应时间的改善,多线程可以把程序中 处理用户输入输出的部分与其 阅读全文
摘要:
转:http://www.cnblogs.com/leoxie2011/archive/2012/03/20/2408542.html阅读目录前言初步分析通用查询机制数据权限规则实际应用结语前言前一篇文章《通用权限管理设计 之 数据库设计方案》介绍了【主体】- 【领域】 - 【权限】( who、what、how问题原型 ) 的设计思想本文将对这种设计思想作进一步的扩展,介绍数据权限的设计方案。权限控制可以理解,分为这几种 :【功能权限】:能做什么的问题,如增加产品。【数据权限】:能看到哪些数据的问题,如查看本人的所有订单。【字段权限】:能看到哪些信息的问题,如供应商账户,看不到角色、 部门等信 阅读全文
摘要:
一、信号:信号主要用来通知进程异步事件的发生。可以使用“kill -l ”命令来显示系统中的信号。进程可以忽略大部分信号,但是有两个是不能忽略的: (1)SIGSTOP:这个信号将中断进程的执行。 (2)SIGKILL:这个信号将强制进程退出。 Linux使用了堆栈来管理要执行的信号处理程序,这样当一个信号处理程序完成操作时,下一个将被调用,依次下去。 当进程收到信号后,怎么处理这个信号多半是由收到信号的那个进程自行决定,除非收到的信号是SIGKILL之类只能采取默认行动的信号。Linux处理信号主要有下面4种方式:(1)采用系统默认的处理方式。一般而言,进程对信号的默认处理方式都是终止运行。 阅读全文
摘要:
一、消息队列是一条由消息连接而成的链表,它保存在内核中,通过消息队列的引用标示符来访问。二、消息队列不同于管道,通信的两个进程可以是完全无关的进程,它们之间不需要约定同步的方法。只要消息队列存在并且有存放消息的空间,发送进程就可以向消息队列中存放消息,并且可以在接收进程开始之前终止其执行。但是使用管道通信的进程,无论是匿名管道还是有名管道,通信的两个进程都必须是正在运行的进程。这一点是消息队列的优点。三、编写两个程序,第一个是从消息队列中接收消息,第二个程序则发送消息。每一个消息是用户输入的任意字符串,字符串“end”表示输入结束。1 msqRcv.c:/* * msqRcv.c * * C. 阅读全文