1、 线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。 2、 一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。 3、 系统在运行的时候会为每个进程分配不同的内存区域,但是不会为线程分配内存(线程所...
面试官: 你如何处理线程池中的异常情况,例如任务执行失败? 你: 在我的线程池实现中,我使用了std::packaged_task来包装任务。这允许我捕获任务中抛出的任何异常,并将它们传递给返回的std::future。这样,当用户查询任务的结果时,如果任务中有异常,它会被重新抛出,允许用户处理它。 面试官: 最后一个问题,你如何确...
就像数据库连接池一样。 首先,我们在创建线程就肯定要花费时间,线程用完需要销毁回收,也需要时间。我们使用池的思想,根据我们的需求,提前创建一些线程放在池中,这样就不用每次都去创建和销毁了。并且我们可以去对池做优化。 有了池以后,会方便我们对线程的管理。 线程池是这样来使用线程的,不需要new,使用提供好的E...
Read uncommitted -- 不防止任何隔离性问题,具有脏读/不可重复度/虚读(幻读)问题 Read committed -- 可以防止脏读问题,但是不能防止不可重复度/虚读(幻读)问题 Repeatable read -- 可以防止脏读/不可重复读问题,但是不能防止虚读(幻读)问题 Serializable -- 数据库被设计为单线程数据库,可以防止上述所有问...
5)进程间不会相互影响;线程一个线程挂掉将导致整个进程挂掉 6)进程适应于多核、多机分布;线程适用于多核 线程所私有的: 线程id、寄存器的值、栈、线程的优先级和调度策略、线程的私有数据、信号屏蔽字、errno变量、 2.什么是进程池和线程池? 在面向对象程序编程中,对象的创建与析构都是一个较为复杂的过程,较...
7. 线程池 8. 执⾏execute()方法和 submit()方法的区别 9. 线程的三种创建方式 10. 线程池的四种创建方式 前言 主要描述线程的一些相关概念和易混淆的知识点 这部分内容也是面试官经常爱问的问题 具体这部分的详细知识可看我之前的文章 【操作系统】线程与进程的深入剖析(全) ...
如果new了之后出了问题直接return。会导致内存泄漏。怎么办(智能指针,raii) c++11的智能指针有哪些。weak_ptr的使用场景。什么情况下会产生循环引用 多进程fork后不同进程会共享哪些资源 多线程里线程的同步方式有哪些 size_of是在编译期还是在运行期确定
C/C++面试题大汇总 发布之前先申明两点: 1 所有资料来自网络(主要是CSDN),本人只是收集和转发。 2 所有问题解答(尤其是代码)只是参考,不保证正确。 先发基本问题,再发编程问题... 想成为嵌入式程序员应知道的0x10个基本问题: 预处理器(Preprocessor) 1 . 用预...
9. 线程池的原理及实现 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元 的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为: T1 创建线程时间, T2 在线程中执行任务的时间, T3 销毁线程时间。