线程的分离状态决定一个线程以什么样的方式来终止自 己。在默认情况下线程是非分离状态的,这种情况下,原有的线程等待创建的线程结束。只有当pthread_join()函数返回时,创建的线程才算终止, 才能释放自己占用的系统资源。而分离线程不是这样子的,它没有被其他的线程所等待,自己运行结束了,线程也就终...
分类:
其他好文 时间:
2014-07-29 11:00:17
阅读次数:
287
知识点:static,const,static const详解:转(http://blog.csdn.net/yjkwf/article/details/6067267)const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。 static表...
分类:
编程语言 时间:
2014-07-28 23:56:44
阅读次数:
522
??
1.内存四大区域
2.在程序中,变量的声明可以有多份,定义只能有一份
3.寄存器在cpu里面,没有地址
4.c语言内嵌汇编语言
5.auto变量
自动分配内存,自动释放内存。
6、栈的大小由编译器决定
修改栈的方式,右击项目à属性à配置属性à链接器à系统à堆栈保留大小
7.卡死cpu,卡死内存的程序...
分类:
其他好文 时间:
2014-07-28 16:29:53
阅读次数:
267
1 桟区(stack):由编译器自动分配和释放,存放函数的参数值,局部变量的值,其操作方式类似于数据结构中的栈。
若申请的内存小于系统所剩内存则成功,否则就会发生栈溢出错误。
栈的增长方向是向下的,通常栈的初始化指针指向内存的最高地址,它是连续的。系统自动分配,因此速度很快。
在函数调用时,第一个进栈的是主函数的下一条指令的地址,然后是各个函数的参数,参数从右向左进栈...
分类:
其他好文 时间:
2014-07-28 16:19:33
阅读次数:
238
Windows进程
进程是一个容器,包含程序执行需要的代码、数据、资源等信息,
windows进程的特点:
每个进程都有自己的ID号
每个进程都有自己的地址空间,进程之间无法访问对方的地址空间。
每个进程都有自己的安全属性
每个进程至少包含一个线程。
获取和释放环境信息
GetEnvironmentStrings
FreeEnvironmentStrings
获取或设置 本程序...
分类:
编程语言 时间:
2014-07-28 15:55:23
阅读次数:
283
在C和C++中不能返回一个局部变量,因为函数中的局部变量分配的存储空间在栈上,当函数执行完后会被重新利用,所以想要返回数组类型,有两种方式:1)静态变量(static in a function可以在函数调用之间保持值有效),2)利用malloc动态分配,但是最终要记得释放。下面是几个简单测试程序:
1.错误的示例:
#include
int *func(int n){...
分类:
编程语言 时间:
2014-07-28 15:49:23
阅读次数:
263
对于WEB程序来说,它寄宿在IIS提供的w3wp进程中,这个进程占用的内存大小和你的应用程序的使用有个直接关系,你的程序写的标准,它占用内存就相对低,你的程序写的伪范规,该释放的东西不让系统释放(有些对象GC回收不了),就会造成内存使用过高的情况,对于32位系统来说,最高1.6G,超过后,进程自动挂...
分类:
其他好文 时间:
2014-07-28 15:26:13
阅读次数:
222
SGA管理
SGA指系统全局区(System Global Area),是一块用于加载数据、对象并保存运行状态和数据库控制信息的一块内存区域,在数据库实例启动时分配,当实例关闭时释放,每个实例都拥有自己的SGA区。
在第一章曾经?到,当数据库启动到nomount状态时,SGA已经分配,同时启动后台进程,在SQL*Plus中通过show sga命令可以看到SGA的分配情况:
sys@felix SQL>show parameter sga
NAME ...
分类:
数据库 时间:
2014-07-28 00:16:59
阅读次数:
350
背景:
我们在开发linux在线服务器的时候经常会遇会句柄泄露的问题。因为在linux系统设计里面遵循一切都是文件的原则,即磁盘文件、目录、网络套接字、磁盘、管道等,所有这些都是文件,在我们进行打开的时候会返回一个fd,即是文件句柄。如果频繁的打开文件,或者打开网络套接字而忘记释放就会有句柄泄露的现象。在linux系统中对进程可以调用的文件句柄数进行了限制,在默认情况下每个进程可以调用的最大句柄...
分类:
系统相关 时间:
2014-07-28 00:13:09
阅读次数:
501
链表的游标实现,就是用另外一种方法来访问链表,模拟游标。
在我学习的理解中,就是创建一个节点数组,模拟内存的排列,然后从其中来申请内存和释放内存。但是实际的内存没有被释放~...
分类:
编程语言 时间:
2014-07-28 00:00:30
阅读次数:
298