多线程开发

多线程开发中的一些注意事项:

假定有一个线程(进程)A, 多个线程(进程)B,A知道所有的B的状态,B之间相互不了 解

  1. 首先要注意到有多个B,它们执行的代码一样,如果对某一个资源进行读写,需要考 虑互斥
  2. 由于第1条说明的互斥问题,所以可以考虑把可能引起互斥的数据操作由A来完成然后 通知B
  3. 第2条中又引起了一个问题,因为B有多个,那么A应该通知哪个B呢?这里最为安全的 是在A中对B进行轮询,这个可以避免由于某个B突然失联引起问题,即使某个B线程( 进程)失联了,下次运行时,A就会通知另外一个B,从而避免了一直向失联的B向信 息

关于数据的设计

对于一类数据,最好由一个进程来管理,如果其它进程需要相应的数据,与数据管理进程 沟通,以获取数据,而不是直接去操作数据。