我有一个关于多线程的概念性问题:
在通过 DCOM 使用 RPC 的应用程序中,具有多线程公寓配置,主要形式是冻结。
1 - 如果在单元初始化中创建了CriticalSession,那么关键会话中的代码会在主线程上下文中运行吗?
2 - 当您调用方法执行任务时:
创建线程 1。(DCOM 线程)
线程 1 创建线程 2。
线程 1 WaitFor 线程 2。
线程 2 创建 4 个线程以更快地运行任务。
线程 2 循环休眠 2 秒,直到 4 个线程结束。在这个过程中,主窗体应该被刷新以显示完成的百分比。一条消息以完成百分比发布到主窗体线程,但没有任何反应,主窗体被冻结。
3 - 当需要在线程 2 中进行 CRUD(创建读取更新删除)对象时,有一种更好的方法代替 synchronized() 方法,可以在 4 个线程之一同步?
4 - 4个线程的优先级高于主线程这是一个问题吗?当这成为一个问题?
下图代表了系统的架构: