我是桌面应用程序的新用户,并且发现在任何地方都有线程使用。
我不明白为什么我们在这里使用它而不是在webapplications中使用它。
我们可以直接调用方法而不是线程。
答案 0 :(得分:6)
传统的Windows GUI应用程序有一个“主线程”,负责处理从OS接收的消息。这些消息用于所有鼠标/键盘交互,因此当您停止处理它们时,应用程序停止响应(在几秒钟之后,Windows本身将使应用程序变灰并在标题栏中放置“停止响应”。 )
为了避免这种丑陋,人们移动需要很长时间的活动(因为他们需要大量的CPU,或者因为可能正在等待I / O(磁盘,网络等))到其他线程上。这意味着主线程可以随意保留消息。
您没有明确启动主线程 - Windows会在应用启动时将其提供给您。
你需要非常小心后台线程和主线程之间的交互 - 有一堆规则和限制,如果不遵循它们就会给你一些可能不会立即,一致或在你的机器。这并不意味着他们不在那里......