C# 基础复习 四 多线程
单线程和多线程的区别
单线程:
只用主线程处理,如果一个操作在占用主线程,那么其他操作则无法执行
多线程:
除了主线程外,还开启了子线程来执行操作,子线程执行操作时,主线程一样可以执行其他操作,但子
线程无法使用主线程的控件,主线程也没法知道子线程什么时候执行完成
关闭跨线程检测,让子线程可以用主线程的控件
CheckForIllegalCrossThreadCalls = false;
语法
Thread th = new Thread(); th.Start();//开启线程
为了防止主线程和子线程冲突(同时操作一个控件),我们可以给线程加锁,这样其他线程就会等加锁的线程执行完
lock(this) { //操作 }
线程睡眠
让线程等待几秒后再继续执行
Thread.Sleep(毫秒);
异步
异步操作和线程类似,但是执行完成后会回到主线程
关键字async
.IsCompleted() 异步是否执行完成