c#经常用到的知识总结(一)


      一、异步多线程

 我们写代码过程中经常会涉及到一些复杂的业务逻辑,系统处理时间有需要很长的时间,如果是同步的话,就会给用户带来极差的用户体验;那么我们就会用到一个异步处理,让复杂逻辑通过另一个线程去完成,及时响应用户的需求。

     多线程程序调用方法  

  Thread thread = new Thread(ThreadMethod); //执行的必须是无返回值的方法
  thread.Start();     

  子线程执行函数:

  public static void ThreadMethod(object parameter) //方法内可以有参数,也可以没有参数
  {
   // 子线程执行业务逻辑
  }
需要注意的是,如果我们用到的子线程需要传递参数,那么就需要在start中调用的时候把对象传递过去即可;
如果业务涉及到我们一个程序隔多长时间执行一次的话,这个地方就可以使用

   Thread.sleep(间隔时间);
   但是每使用一个线程就要创建一个,需要占用系统开销;为此咱还用到一个概念:线程池  

  ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMethod), new object());   
 子线程的执行函数同上

  二、Form程序加载背景程序缓慢问题

    解决办法

     1、将背景图加载进来后释放     

    Bitmap bm = new Bitmap("back_ground.png");
    Bitmap newBm = new Bitmap(bm);
    bm.Dispose();
    this.BackgroundImage=newBm;
    2、开启窗体缓冲功能     DoubleBuffered 设置为true;

    thisform.DoubleBuffered =true; //示范代码



     



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值