zoukankan      html  css  js  c++  java
  • winform 窗体、多线程影响

    1.窗体的隐藏与显示

    this.show()   this.Hide()

    2.MDI多文档界面
    设置父窗体,IsMDIContainer = true;
    设置子窗体,Form2 fr2 = new Form2();
                fr2.MdiParent = this;
                fr2.Show();
    MDI子窗体排列:MDILayOut.Horizal:水平平铺,垂坠平铺,叠层平铺

    3.继承窗体实现的两种方式:
    通过编写代码  :Form2 : WinFormApplication.Form1;一定是命名空间.窗体对象;
    通过窗体选择器:通过项目添加winform窗体中的继承窗体。

    修改子窗体中控件的属性,父窗体中的属性Medifiers设置为public,否则不能修改子窗体中的属性。

    4.读取注册表中的信息
    主要通过RegistryKey类中的OpenSubKey方法,GetSubKeyNames方法,GetValueNames方法实现


    5.使用多线程的3种情况
    1)执行占用大量时间的操作
    2)区分具有不同优先级的任务
    3)使用户界面可以在将时间分配给后台任务时仍能快速做出响应

    6.使用多线程将产生的不良情况
    1)因为线程为占用内存空间,使用多线程后,创建进程、AppDomain对象及线程数目将受到内存的限制
    2)跟踪大量的线程将耗费大量的处理器时间,如果线程过多,则其中大多数线程不会产生明显的进度。如果大多数当前线程处于一个进程中。则其他的进程的线程的调度频率就会降低。(因为在线程之间来回的切换)

    3)因为在线程之间来回的切换和调度,代码执行过程非常复杂,可能会产生许多的bug
    4)因为线程中包含许多的资源,销毁线程需要了解可能发生的问题并对那些问题进行处理。

    7.线程同步的四种方式:lock , mutex , Monitor , interlocked
    lock 和monitor 是通过锁定资源:当一个线程锁定了某块资源后,则其他的线程不能再使用此块资源。
    Mutex 是使用互斥体的方式实现线程的同步:当一个线程获得了当前资源的互斥体,则其他的线程不能再获得此互斥体。只用当前线程使用完资源后其他的线程才能使用此资源。

    线程同步就是避免几个线程同时使用一块资源而发生不必要的错误。

    多线程管理

    互锁机制、互斥体
    使用队列存储数据
    开辟监视线程,用以监视工作线程,为每个工作线程(工作线程排队工作)设置标志位,工作线程结束,改变标志位。

  • 相关阅读:
    JavaScript单线程和浏览器事件循环简述
    Promise的前世今生和妙用技巧
    自定义Angular插件
    smartcrop.js智能图片裁剪库
    判断是否安装微博
    Java 注解
    android tools使用方式
    listview复用机制研究
    java 驼峰字符和下划线字符相互转换工具类
    剪切板(复制、粘贴)工具类
  • 原文地址:https://www.cnblogs.com/jefy/p/9207468.html
Copyright © 2011-2022 走看看