线程设计规则
1 并发的概念:同一时间访问同一对象的多个请求。
2 并发操作的方法:
2.1 异步编程
2.2 多线程
2.3 使用基于技术器的函数
3 设计线程应用程序
3.1 设计前要考虑的问题:
1 是否可以细分应用程序,使其运行在不同的线程上?
1.1 每个标识的任务是否使用单独的全局资源。
考虑全局资源是什么。
1.2 经过多长时间才能阻塞线程?
需要考虑加锁的时机确保不影响并发的效率。
1.3 一个任务的执行是否依赖于另一个任务?
判断任务间是否是并发的关系,不是则通过事件+线程或者计时器来实现这个功能。
2 如果可以细分,该如何进行细分,细分的标准是什么?
3 主线程和工作线程之间的关系是什么?
3.2 线程和关系
1 主线程和工作线程模式
主线程接收所有的输入,并将这些输入传递给其他线程,以执行某些任务。
例子:GUI的Main方法
2 对等线程模式
每个线程都从适当的来源接收其自己的输入,并对输入作出相应的处理。
例子:UI线程从键盘和鼠标接收输入,并在各自事件内启单独的线程。
3 管道线程模式
管道线程模式是基于一系列任务的,每个任务都依赖于当前的任务。
例子:一个线程查询,一个线程显示;是顺序执行的。