当前位置: 首页 > news >正文

淘宝客网站建设教程视频/seo网站优化软件价格

淘宝客网站建设教程视频,seo网站优化软件价格,江西省赣州市地图全图,怎么评判一个网站做的好与坏应用程序可以拥有多个线程,当程序需要大量时间来处理部分业务或流程时,就可以通过线程来操作,如果应用程序没有用到线程,那将会出现很麻烦的事情,例如:界面上有个dataGridView需要填充数据,如果有Form_Load事件中实现数据绑定,如果在主线程中操作,那么你运行打开窗体的时候就会…

应用程序可以拥有多个线程,当程序需要大量时间来处理部分业务或流程时,就可以通过线程来操作,如果应用程序没有用到线程,那将会出现很麻烦的事情,例如:界面上有个dataGridView需要填充数据,如果有Form_Load事件中实现数据绑定,如果在主线程中操作,那么你运行打开窗体的时候就会出现程序假死的现象.这不是客户所接受的,所以在程序开发中,线程的应用是不可缺少的一部分.

我们用多线程来开发程序,目的就是减少处理器单元的闲置时间,增加处理器单元的操作能力.但这并不能说明在程序中可以泛用多线程,应用不当,会降低系统的性能.例如:如果完成一个作业需要的时间为N,在多线程的情况下,创建线程需要的时间为N0,线程中处理的作业需要的时间为N1,线程销毁需要的时间是N3,还有一些其它的时间这里就不算了,这里可以看出如果作业流程简单的,占用资源和时间不长的则不需要利用一个线程来处理,如果一个作业需要不停的创建线程则需要利用到线程池,从而提高程序的性能.

需要多线程作业,需要添加System.Threading命名空间,下面细说一个Thread的操作:

通过Thread一次使用一个线程,来创建和删除线程.
创建线程: 
Thread th = new Thread(new ThreadStart(Method));
开始线程:
th.Start();
销毁线程:
th.Abort();
线程名称:
th.Name="A";
线程休眠:
th.Sleep();
线程挂起:
th.Suspend();
线程恢复:
th.Resume();
说到Thread还有一个方法就是设置后台线程
IsBackground属性设为true,该线程即为后台线程。
后台线程跟前台线程只有一个区别,那就是后台线程不妨碍程序的终止。一旦一个进程所有的前台线程都终止后,
CLR将通过调用任意一个存活中的后台进程的Abort()方法来彻底终止进程。注意:后台线程不能直接操作所在进程
之外的数据引用。

 

通过ThreadPool来创建线程,如果你的程序需要频繁的创建线程的时候你就可以用到这个类,用实现创建线程,提高程
序的性能.通过ThreadPool.QueueUserWorkItem(new WaitCallback(Method), 1)来创建线程池下面请看一下面的代码:
private void button2_Click(object sender, EventArgs e)
{
    int maxTh, minTh, portTh;  

    ThreadPool.GetMaxThreads(out maxTh, out portTh);
    ThreadPool.GetMinThreads(out minTh, out portTh);
    richTextBox1.Text = maxTh.ToString() + " , " + minTh.ToString() + " , " + portTh.ToString() + "\n";

    ThreadPool.QueueUserWorkItem(new WaitCallback(A1), 1);
    ThreadPool.QueueUserWorkItem(new WaitCallback(A2), 1);
}

private void A1(object i)
{
    string str = i.ToString();
    if (this.InvokeRequired)
    {
updateRichTxt ur = new updateRichTxt(UpdateRT);
this.Invoke(ur, str);
    }
}
private void A2(object i)
{
    string str = ((int)i + 1).ToString();
    if (this.InvokeRequired)
    {
updateRichTxt ur = new updateRichTxt(UpdateRT);
this.Invoke(ur, str);
    }
}

private delegate void updateRichTxt(string iTxt);

private void UpdateRT(string iTxt)
{
    richTextBox1.Text = richTextBox1.Text + iTxt + "\n";
}
到这里你应该清楚,多线程的正确应用.

http://www.lbrq.cn/news/1109341.html

相关文章:

  • 云主机搭建多个网站/seo培训学什么
  • 网站开发建设培训/百度爱企查电话人工服务总部
  • 晋中做网站公司/宁波seo推广哪家好
  • 不用代码可以做网站设计吗/广告投放平台系统
  • 桥西企业做网站/seo网站排名优化工具
  • 辽宁省建设局网站/深圳知名seo公司
  • 联谊会建设网站/网络广告策划方案
  • 网站建设方案书人员资金安排/百度网站链接
  • 卫生系统网站的建设和维护/网站收录服务
  • 做牙科设计的网站/互联网广告投放平台加盟
  • 做外汇应该看哪一家网站/化妆品营销推广方案
  • 如何彻底清除网站的网页木马/视频广告联盟平台
  • 百度云平台建设网站/优化软件下载
  • 如何做体育彩票网站/企业培训权威机构
  • 网站开发国外研究状况/太原seo推广外包
  • 做吉祥物的网站/百度推广计划
  • 百度站长工具有哪些/seo优化公司
  • 查询做导员的网站/工作手机
  • wordpress降低版本/怎样优化网站排名靠前
  • 测试网站免费空间/如何推广公司网站
  • 医院网站党支部机构建设/自媒体平台
  • 民权平台网站建设/沈阳优化网站公司
  • 建立个人网站需要什么/网页制作成品模板网站
  • 网站快照是自己做的吗/滨州seo招聘
  • 四川省人民政府服务热线/优化疫情政策
  • 可以注销的网站/15个常见关键词
  • 济宁住房和城乡建设厅网站首页/下载班级优化大师app
  • 网站建立基本流程/西安关键词优化服务
  • 西安市今天发生的重大新闻/山东公司网站推广优化
  • 为什么python不适合开发网站/网站建设的基本
  • 自由学习记录(70)
  • 用线性代数推导码分多址(CDMA)
  • 网工知识——vlan技术
  • 推荐 1 款 4.5k stars 的AI 大模型驱动的开源知识库搭建系统
  • AI(day10)模块化编程概念(模块、包、导入)及常见系统模块总结和第三方模块管理
  • 《计算机“十万个为什么”》之什么是 feed 流