线程
在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。
判断是否在同一个线程中的根本方法也比较简单,在Windows上直接用 GetCurrentThreadId() 比较;
GetCurrentThreadId() 会直接输出线程id。
注意:
1.线程id是动态分配的,因此如果某一个线程结束以后,这个id号还可能会分配给另一个线程,所以会有重复。
2.之所以会出现相同ID的情况,可能是以下原因:先前的线程已经被销毁了;采用的是异步机制;消息机制;线程运行得太短时间了,还没有等其它线程启动就已经运行完了。
3.直接输出了GetCurrentThreadID的返回值可能会出现重复的现象,
这个返回值不能直接输出的,该函数采用的是寄存器返回,很快会被其他操作覆盖!
正确的做法是:
将GetCurrentThreadID的返回值赋值给一个临时变量;而后输出该临时变量
以前自己将GetCurrentThreadID的值作为map的key,也出了问题,改用临时变量就解决了。
4.打印出id的那句是:
TRACE(