zoukankan      html  css  js  c++  java
  • C#多线程学习

    C#多线程学习:
    (一)线程相关概念:
      1)进程:运行中的程序 + 程序所用到的内存和系统资源;

      2)线程:程序的执行流,有专有寄存器(栈指针、程序计数器等),代码区共享。

      3)多线程好处:

      CPU利用率高。

    4)多线程坏处:

      线程多-->内存占用多-->需要CPU时间跟踪线程协调和管理-->资源竟用-->多加控制-->造成Bug.

    5)相关函数:
      实例:

     1   using System;
     2   using System.Threading;
     3 
     4 namespace ThreadTest
     5 {
     6   class RunIt
     7   {
     8     [STAThread]
     9     static void Main(string[] args)
    10     {
    11       Thread.CurrentThread.Name="System Thread";
    12       Console.WriteLine(Thread.CurrentThread.Name+"'Status:"+Thread.CurrentThread.ThreadState);
    13       Console.ReadLine();
    14     }
    15   }
    16 }

     

    解析:


    在这里,我们通过Thread类的静态属性CurrentThread获取了当前执行的线程。
    静态属性:类所有对象所公有的属性,无论创建多少类的实例,静态属性只有一个。
    CurrentThread是静态的原因--虽多线程同时存在,但某一时刻,CPU只执行一个线程。

    Thread类有几个至关重要的方法,描述如下:
    Start():启动线程;
    Sleep(int):静态方法,暂停当前线程指定的毫秒数;
    Abort():通常使用该方法来终止一个线程;
    Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可恢复;
    Resume():恢复被Suspend()方法挂起的线程的执行。


    (二)操作进程线程:
    (三)生产者&消费者:
    (四)自动管理(线程池):
    (五)自动管理(定时器):
    (六)互斥关系:

  • 相关阅读:
    关于GDI+的图片质量
    断点续传的Demo
    offic2007 ,offic2010安装失败 1935错误处理方案
    Easy Slider幻灯片 API
    Lazyload.js延迟加载效果
    MVC3中 多种跳转方式总结
    MVC中 DropDownList编辑默认选中的使用
    ASP.NET Session的七点认识
    easyui 的datagrid的自适应宽度的问题
    Linux常用文件操作高频使用命令
  • 原文地址:https://www.cnblogs.com/xuejianhui/p/2689009.html
Copyright © 2011-2022 走看看