Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • 忆java内存屏障

    post by onelong / 2013-7-14 19:18 Sunday [android]

    说起java内存屏障,其实是两年前的事情了,一次很意外的机会看到了并发库,然后在网上查找那些并发库的使用,无意中看到JMM的东西,于是就开始了java 并发编程了。那些还在东莞,一个人孤孤单单的学习着那些内容,遇到不懂的也不知道找谁问,所以的事情就这样艰难的进行着,遇到不懂的只能折腾一下了,折腾之后还是不明白的,就放下了。最近又拿起那些JMM的东西,翻回曾经看过的文章,因为教的原因,很多东西还是弄明白了。于是看了并发编程网的一篇文字

    http://ifeve.com/linux-memory-barriers/

    竟然可以看懂。其实很多事情需要经历一些事情然后才能明白的。如果当年没有去折腾,也学今天就看不懂了。对于并发的那些事情,其实很折腾了两年吧,始于java并发编程,然后多处理器编程的艺术,然后c++多核高级编程,于是养成了一种习惯,看到任何一个数据结果,首先要问的是线程安全吗?在c++多核编程中其实很苦恼的,c++没有提供并发库也没有提供可并非的数据结构,甚至连线程安全的数据结构都没有提供。c++如果依靠线程并发的设计方式,开发难度太大了。

    linux尽管提供了锁机制,但是呢,像链表这样数据结构,锁了怎样并发呢?太多全局的变量了,如何控制呢,这水似乎太深了.....

    于是就想到用进程代替线程了,起码全局的变量不用考虑那么多呀。但是如果使用进程,共享数据和通讯也是一个问题,于是很多东西最后都是无解了。最近希望通过阅读nginx的源代码找到一种解决方案。自己设计一套并发库是不太可能的。

    不管怎样,属于水瓶座的特征,喜欢追问“我是谁,我从哪里来”.....生活中,也许没有像在大公司的孩子那么幸运,可以一群人去讨论这些事情,也没有一个人让我可以去追问,一起的成长都是要靠自己去努力。

    所以这些年,我一直在努力完成我高中的梦想,站在讲台,把我所学的统统分享出去。同时我也不希望大家的成长像我一样,那么孤独。一个非计算机专业的孩子,基本没上过计算机专业的课程,一步一步走到今天,小小的自尊,我很骄傲。但是路还是很漫长的,我希望有更多的人去研究多核编程

     

    标签: jmm
    引用地址:
     

    我要评论