java吧 关注:1,251,545贴子:12,738,333
  • 16回复贴,共1

Java的多线程究竟怎么理解

只看楼主收藏回复

如图,自学中,这段代码已经困扰我两天了。
简单的生产消费模式自己可以理解。但是图中这个例子…
究竟这个同步代码是怎么使用的。
求吧友们解惑


IP属地:河南来自Android客户端1楼2017-05-08 17:15回复
    自定


    IP属地:河南来自Android客户端2楼2017-05-08 17:17
    回复
      多线程就是同时运行,如果是多个cpu的话。


      IP属地:河南来自Android客户端4楼2017-05-08 17:23
      收起回复
        多线程主要解决的问题就是当io阻塞的时候去做别的事情。你去做一件事,但是这个事情要花很长的时间,你在这个期间不想傻等着,就去做了些别的事情,比如看书,比如玩一会电脑,接水,看书,玩电脑是三个线程,记住,不要把线程和同步捆绑到一起,这个很关键。


        5楼2017-05-08 17:31
        收起回复
          这时候别人又给你一个缸子,叫你往缸子里接水,可是这时候水龙头被占用的,你只能把缸子放到一边,先把桶接满,再往缸子接,往桶里接水和往缸子里接水是两个线程,但是这俩线程都需要水龙头这个资源,你一次只能允许一个执行,另外的一个要等着,这就是同步。像往桶里接水和往缸里接水,这俩方法就要写成同步的,因为占用同一个资源,但是打电脑,看书这种方法就可以不写成同步的。


          6楼2017-05-08 17:35
          回复
            线程跟语言无关,看下操作系统的书吧。


            来自iPhone客户端7楼2017-05-08 21:11
            回复
              同样不清楚。收藏,放学回来再看


              IP属地:北京来自iPhone客户端8楼2017-05-09 09:16
              回复
                线程问题主要是要注意同步问题,因为当一个对象在两个线程同时操作时数据发生紊乱,所以要采取同步数据的方法


                来自Android客户端9楼2017-05-09 22:58
                回复


                  来自Android客户端10楼2017-05-09 23:04
                  回复
                    和排队买火车票类似 结合现实生活中多理解理解


                    来自iPhone客户端11楼2017-05-09 23:08
                    回复
                      这段代码打出来,设置count值为1,输出的是“ABC”,设为2的时候,输出的是“ABACB”,哪里错了😭


                      来自Android客户端12楼2017-05-10 10:15
                      回复