windows中 线程是并发执行的吗?如果创建一个优先级高的线程,那么主线程会挂起吗?和CPU的多核和单核有关系吗,该如何解决

windows中 线程是并发执行的吗?如果创建一个优先级高的线程,那么主线程会挂起吗?和CPU的多核和单核有关系吗
RT

------解决方案--------------------
多CPU和多核是并发执行的,单CPU单核的是按顺序执行的
DWORD WINAPI ResumeThread(
__in HANDLE hThread
);
唤醒线程
DWORD WINAPI SuspendThread(
__in HANDLE hThread
);
挂起线程
线程的优先级是相对进程的,可以设置相对优先级
主线程比较特殊,只有Debug权限的进程中的线程才可以对主进程挂起
------解决方案--------------------
DWORD WINAPI ResumeThread(
__in HANDLE hThread
);
唤醒线程
DWORD WINAPI SuspendThread(
__in HANDLE hThread
);
挂起线程
------解决方案--------------------
如果创建一个优先级高的线程,那么主线程会挂起吗?

再低优先级的线程,也是有机会运行的
------解决方案--------------------
优先级高的线程只是被优先调度以及分配更多的时间片,
最多是导致低优先级线程不被调度,但不是被挂起
------解决方案--------------------
线程的调度是由操作系统内核来进行管理的。优先级低的线程不表示一定得不到时间片,从而没有运行的机会。操作系统会在恰当的时候加载它,让其有机会运行一定的时间片