这完全取决于您使用线程的方式。我可以想到至少3种不同的情况-1.您的cameraThread被定义为高优先级,因此(即使使用时间切片)花费99%的时间。 2.您的cameraThread与任务线程池一起运行,因此被阻塞,并被其他线程随机阻塞(资源争用)。 3.您的摄像机在后台发生的优先级较低。
嗯,这取决于您将如何完成此任务。录制摄像机视频可能是某些第三方库提供的功能,并且lib的API可能已经需要您的UI(主)线程才能执行任务。如果您正在实现自己的低级记录API,并希望从该API接收数据,则可能需要使用以下单独的线程来运行数据获取:
Task.Run(()=> {
// new thread running - your data fetching code here
});
这样,您的主线程将不会被阻塞,等待新线程将产生您的相机API的结果。