摘要:
在实际的软件编程中,经常会遇到资源的争用,比如下面的例子: 这种实现在单线程系统中能够正常工作,但是在多线程系统则有可能出错。 比如有2个线程,初始状态value=0。第一个线程运行完第9行,这时temp=0。突然一个中断来了,切换到第二个线程运行了,第二个线程运行完第9行也是temp=0,然后执行 阅读全文
摘要:
我们知道Java语言对于多线程的支持十分丰富,JDK本身提供了很多性能优良的库,包括ThreadPoolExecutor和ScheduleThreadPoolExecutor等。C++11中的STL也提供了std:thread(然而我还没有看,这里先占个坑)还有很多第三方库的实现。这里我重复“造轮子 阅读全文
摘要:
C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下: 可以看到,Lambda主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable或exception声明、-> 返回值类型、{函数体}。 下面分别进行介绍。 一、[函数对象参 阅读全文