zoukankan      html  css  js  c++  java
  • 随便写写

    今天算这些天比较闲的时候,没有项目进度的催促,更多的时间是来看一些自己感兴趣的一些东西,看了一些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} currentThreadId is {1}", data, Thread.CurrentThread.ManagedThreadId);
    Console.WriteLine(message);
     
    }
     
    今天就总结这么多吧。。。慢慢来。
     
  • 相关阅读:
    Bellman算法
    Codeforces Round #378 (Div. 2) D
    运算符优先级
    Kruskal算法
    Java 大数运算
    无根树转有根树
    欧拉函数模板
    HDU 4135 Co-prime(容斥原理)
    快速求n的质因子(数论)
    Markdown中插入数学公式
  • 原文地址:https://www.cnblogs.com/livexiaojie/p/6283115.html
Copyright © 2011-2022 走看看