近期刚刚学习了一种多线程技术,现结合自己的理解将其罗列出来,希望能够与大家交流一下,多线程是一种能够节省程序运算时间的方法,大大的提高了程序的运算效率,那么首先我们来说一下进程和线程概念:
一个程序包含一个以上的进程,而一个进程又可以包含一个以上的线程,每一个进程都有自己独立的内存空间,相应...
分类:
编程语言 时间:
2014-05-19 20:00:50
阅读次数:
289
在《编程珠玑》中提到一个用位向量解决排序的问题,其具体的要求如下:输入:一个包含最多n个整数的文件,每个整数都小于n,且无重复输出:按升序排列的输入整数的列表约束:最多有(大约)1MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10秒就不需要进一步优化了。基本的思路是这样...
分类:
其他好文 时间:
2014-05-19 09:55:39
阅读次数:
390
我们都知道指针是用来操作内存空间的,我们可以简单的拿来改变某个变量的值如:我们定义一个int
a = 5;然后定义一个指针int *p;将change(&a);利用这个调用函数change();用函数int change(int *p){*p =
10;return 1;}输出结果会是:a = 10...
分类:
其他好文 时间:
2014-05-18 02:26:42
阅读次数:
247
[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若干次的内存访问,得到每一级页表中用于转换的页表项(页表是存放在内...
分类:
系统相关 时间:
2014-05-17 23:37:26
阅读次数:
476
-----------android培训、java培训、java学习型技术博客、期待与您交流!---------进程和线程进程是正在进行中的程序,指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以有多个线程。Java程序的进程里有几个线程:主线程,垃圾回收线程(后台线程)...
分类:
编程语言 时间:
2014-05-17 23:27:09
阅读次数:
536
我们知道队列
就是在内容内存分配连续的内存空间,实现先进先出的逻辑,FIFO(LILO),这里用到了.net 4.0
的ConcurrentQueue类,(带线程安全的队列类),也可以用Queue ,多线程中自行同步。代码可直接复制运行 1 using System; 2
using System....
分类:
其他好文 时间:
2014-05-16 04:07:11
阅读次数:
276
线性表的定义:N个数据元素的有限序列
线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表)
顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an)
链式存储结构:是用一段一段连续的内存空间存储表中每一行的数据,段与段之间通过一个引用(指针)相互连接来,形成一个链式的存储结构
看到顺序存储结构的图示,我们可能会马上联想到C语言的数组...
分类:
编程语言 时间:
2014-05-16 01:43:08
阅读次数:
359
http://www.jb51.net/article/33398.htmString的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间,StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产...
分类:
编程语言 时间:
2014-05-14 22:30:10
阅读次数:
329
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作
思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间
因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:35:52
阅读次数:
257
IPC进程间通信+邮槽MailSlot
IPC(Inter-Process Communication,进程间通信)。
现代计算机采用虚拟内存机制,为进程提供独立的足够大的地址空间,处于安全目的,一个进程不具有特殊的权限,是无法访问另一个进程的内存空间,进程间相互隔绝。进程间通信IPC就需要特别的机制来实现,邮槽MailSlot是常用的IPC方法之...
分类:
其他好文 时间:
2014-05-14 20:35:09
阅读次数:
432