liam0205.github.io icon indicating copy to clipboard operation
liam0205.github.io copied to clipboard

程序员的自我修养(六):保护线程间的共享数据 | 始终

Open Liam0205 opened this issue 6 years ago • 7 comments

https://liam.page/2017/06/10/protecting-data-sharing-between-threads/

进入到系列文章的第六篇。 我们在前文中提到,多进程和多线程最本质的区别在于共享和隔离的程度不同。对于多进程方式来说,因为隔离程度高,所以程序员很少需要去担心进程空间的数据被破坏;但是并发任务之间共享数据就变得很困难了。对于多线程方式来说,因为隔离程度低,所以共享数据非常容易;但是,相应地,程序员需要更多地考虑如何在线程之间安全地共享数据。这就引出了所谓的「线程安全」问题。 此篇,我们讨论如何在线程

Liam0205 avatar Jan 12 '19 09:01 Liam0205

保证技术准确的前提下,写作风格也不错,值得学习

yangmingming avatar Jan 13 '21 13:01 yangmingming

有没有vector的线程安全版本呀

huawenqing avatar May 21 '21 03:05 huawenqing

有没有vector的线程安全版本呀

有具体的场景么?

没想过这个问题,感觉比较怪。

Liam0205 avatar May 21 '21 03:05 Liam0205

有具体的场景么?没想过这个问题,感觉比较怪。

~~我又来了。~~ 我猜是任务队列,先入先出(创建线程池,依次处理任务队列里面的任务,取出任务与压入任务,需要线程安全的 vector。文章写的还是很好。一些 typo:

  • 引用意函数参数的形式
  • 主意,这里传入

muyuuuu avatar Aug 10 '21 14:08 muyuuuu

@muyuuuu

有具体的场景么?没想过这个问题,感觉比较怪。

~~我又来了。~~ 我猜是任务队列,先入先出(创建线程池,依次处理任务队列里面的任务,取出任务与压入任务,需要线程安全的 vector。文章写的还是很好。一些 typo:

  • 引用意函数参数的形式
  • 主意,这里传入

typo 收下。

如果是这样的话,为啥不用 queue?

Liam0205 avatar Aug 12 '21 10:08 Liam0205

有具体的场景么?没想过这个问题,感觉比较怪。

~我又来了。~ 我猜是任务队列,先入先出(创建线程池,依次处理任务队列里面的任务,取出任务与压入任务,需要线程安全的 vector。文章写的还是很好。一些 typo:

  • 引用意函数参数的形式
  • 主意,这里传入

想用vector实现一个滑动窗口频率限制器...

huawenqing avatar Aug 17 '21 07:08 huawenqing

看你的博客,真的受益匪浅

sumq avatar Oct 11 '22 15:10 sumq