随笔分类 -  并发

摘要:线程有join和detach两种结束方式,join:主线程等待该线程结束,detach:主线程不等待该线程结束,让其在后台运行。join需要注意选择适当的位置,在线程启动后可能会抛出异常,在try/catch中也应该考虑join(一种方式是使用“资源获取即初始化方式”(RAII,Resource A 阅读全文
posted @ 2019-07-07 13:59 demianzhang 阅读(165) 评论(0) 推荐(0)
摘要:CAS( compare and swap) 原子操作,保证了如果需要更新的地址没有被其他进程(线程)改动过,那么它可以安全的写入。而这也是我们对于某个数据或者数据结构加锁要保护的内容,保证读写的一致性,不出现dirty data。可在循环中不断执行CAS,如果共享变量没有改变,那么swap,在当前 阅读全文
posted @ 2019-07-06 10:05 demianzhang 阅读(5078) 评论(0) 推荐(0)
摘要:线程安全 是指某个函数、函数库在多线程环境中被调用时,能够正确地处理多个线程之间的共享变量,使程序功能正确完成。在并发的情况之下,该代码经过多线程使用,线程的调度顺序不影响任何结果。我们通常说一段代码是线程安全的, 反过来,线程不安全就意味着线程的调度顺序会影响最终结果,如不加事务的转账: 并行:多 阅读全文
posted @ 2018-10-22 20:03 demianzhang 阅读(166) 评论(0) 推荐(0)