标准的答案!饿汉式没有线程安全问题,懒汉式需要双重锁定解决可能的线程安全问题。饿汉式的缺点是类一加载就实例化,提前占用系统资源
总之,线程每次都只能也必定只可以拿到这个唯一的对象。即饿汉式单例天生就是线程安全的。
如果没有做同步处理,是线程不安全的。获取单例对象的方法需要做同步处理。如果有帮助到你,请点击采纳。
ThreadTask(intdata,handler_t handler);void Run(){return_handler(_data);}};//任务节点类,线程池中的线程获取到任务节点只需要调用RunclassThreadPool{int _thr_num;//线程的数量 BlockQueue _queue;//线程安全的任务队列 void*thr_entry(void*arg){ThreadTaskdata;_queue.pop(&data);data.Run();}publi...
作为static field会首先被初始化,然后再被方法调用,不存在多线程竞争,更不存在线程安全的问题。