博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
随便写写
阅读量:6695 次
发布时间:2019-06-25

本文共 1181 字,大约阅读时间需要 3 分钟。

今天算这些天比较闲的时候,没有项目进度的催促,更多的时间是来看一些自己感兴趣的一些东西,看了一些C#的基本知识点还是很有收获的,主要几点是很基础的一些定义和实现。

如对象的内存模型,委托事件和多线程。大概学到了一些很基本的东西。 

1 栈内存 先进先出
编译器分配 保存一些局部变量和函数的参数等 如 int a =1;
 
2 堆内存 随意分配 受限于虚拟内存
通过new关键字申请
如 student xiaoming = new student();
首先编译器在栈内存上分配地址 然后在堆内存上开辟内存来存student 最后把堆上的内存地址存储到变量xiaoming中
对于委托其实没很深的印象,只能说是很简单的了解。
了解的算比较深的是对于线程的解析。
也试着学着网上的例子自己也写了点
一个关于委托的主线程和异步线程的小例子
delegate string Mydelegate(string name);
 
static void Main(string[] args)
{
ThreadMessage("start");
//建立委托
Mydelegate mydelegate = new Mydelegate(Hello);
//异步调用委托
IAsyncResult result = mydelegate.BeginInvoke("lllll",null,null);
//完成主线
//这里是在异步调用完成之前主线完成其他的任务
while (!result.IsCompleted)
{
Thread.Sleep(200);
Console.WriteLine("主线继续完成其他的任务");
}
//异步完成之后才获取结果
string data = mydelegate.EndInvoke(result);
Console.WriteLine(data);
Console.ReadKey();
 
}
static string Hello(string name)
{
 
ThreadMessage("Async Thread start");
Thread.Sleep(2000);
return "Hello" + name;
}
static void ThreadMessage(string data)
{
string message = string.Format("{0}\n currentThreadId is {1}", data, Thread.CurrentThread.ManagedThreadId);
Console.WriteLine(message);
 
}
 
今天就总结这么多吧。。。慢慢来。
 

转载于:https://www.cnblogs.com/livexiaojie/p/6283115.html

你可能感兴趣的文章
Google Drive一触即发:云端同步存储
查看>>
Linux下java程序启动脚本(可做开机自启动Service脚本)
查看>>
linux安装mysql
查看>>
ContiPerf接口性能测试
查看>>
linux log查看(转载)
查看>>
dedecms手机站如何ajax提交数据到自定义表单
查看>>
jquery通过新浪财经的接口获取股票走势图和股票数据
查看>>
elasticsearch安装ik中文分词插件
查看>>
JSP中request.getParameter()乱码问题
查看>>
java根据ip地址获取详细地域信息
查看>>
YUM仓库服务与PXE网络装机
查看>>
05.第一个oc的类
查看>>
java调用finalize()方法
查看>>
今天发现了个好东西——exVim~
查看>>
命令和查询责任分离(CQRS)架构模式
查看>>
我的友情链接
查看>>
flume+kafka+hdfs详解
查看>>
win2012单宿主powershell批量建立虚拟机
查看>>
PostgreSQL 帐号密码修改、新建用户,新建数据库操作方法
查看>>
php curl 跨域请求例子
查看>>