北京中科医院怎么样 https://myyk.familydoctor.com.cn/2831/detail/顾名思义,多线程程序指的就是拥有多个(≥2)线程的程序,各个线程可以独立完成一项任务,更重要的是它们可以并发执行。这也就意味着完成相同的任务,多线程程序执行花费的时间往往会少于单线程程序。但有得也有失,多线程程序的编写更容易产生异常或Bug(例如线程之间因竞争同一资源发生了死锁、多个线程同时对同一资源进行读和写等等),调试多线程程序,往往需要耗费更多的精力。庆幸的是,GDB调试器不仅仅支持调试单线程程序,还支持调试多线程程序。本质上讲,使用GDB调试多线程程序的过程和调试单线程程序类似,不同之处在于,调试多线程程序需要监控多个线程的执行过程,进而找到导致程序出现问题的异常或Bug,而调试单线程程序只需要监控1个线程。表1罗列了GDB调试多线程程序时常用的命令以及它们各自的功能。
表1GDB调试多线程程序常用命令调试命令功能infothreads查看当前调试环境中包含多少个线程,并打印出各个线程的相关信息,包括线程编号(ID)、线程名称等。threadid将线程编号为id的线程设置为当前线程。threadapplyid...