黑马程序员15——多线程笔记

  ---------------------- Windows Phone 7手机开发.Net培训、 期待与您交流!----------------------

依据程序写法,程序至少要有一个进程,因为CPU通过进程同程序打交道

一个进程至少有一个线程
同一个进程中的多个线程之间可以“并发执行”



线程是程序中的一个执行流,每个线程都有自己的专有存储器(栈指针、程序计数器等),但是代码区是共享的,及不同的线程可以执行相同的函数。
多线程是指程序中包含多个执行流,即在一个程序中可以同事运行多个不同的线程来执行不同的任务(代码),也就是说单个程序能够创建多个并行执行的点成来完成各自的任务。


1)请人做事==启动一个线程
2)让他做什么 == 通过委托调用
微软创建线程类的时候不知道你要进行什么操作,
所以需要你自己把要做的事传给线程(要做的事写成方法,然后通过委托把方法传进线程)



为什么用多线程
CPU通过调用进程来执行代码,代码执行时被加载到线程(thread)上。

在一个进程(Process)里面,通过把代码加载到一个线程(thread)来执行。

应用程序启动时候,CPU会自动创建一个进程和一个线程,这个线程是UI线程——也是默认线程——也是主线程。

1)利用多处理核心CPU的处理能力
2)让一个程序“同时”做多件事情
3)提高程序执行效率
4)后台运行程序,提供程序的运行效率,防止程序主界面失去响应(唯一的线程干其他事情去了,导致对你的交互没反应)

使用多线程过程
0)引入System.Threading空间
0)编写要执行的方法 == 做什么 == 定义CountTimes方法
1)Thread firstThread = new Thread(CountTimes); //请人做CountTimes这个事情,括号内是把方法赋给下面两个委托之一,firstThread调用委托
2)firstThread.Start();//标记线程可执行,具体时间有CPU确定

Question:Thread类线程能接受 ParameterizedThreadStart ThreadStart 无返回值的委托。如果调用的方法有返回值怎么办。




前台线程和后台线程
firstThread.IsBackgroud=true; //新线程设置为后台进程,这样如果(所有)前台进程关闭后,后台进程即使没执行完,也会关闭.
firstThread.Start();




----------------------Windows Phone 7手机开发.Net培训、 期待与您交流!----------------------



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值