面试题
jiaway
这个作者很懒,什么都没留下…
展开
-
为什么n = n+1 不是线程安全的
n = n + 1 的机器码是这样表示的LD X, r φ // 把 x 载入到寄存器中 load x registerADD 1, r φ // 寄存器中的值加1ST r φ,x // 储存X的值 store当大量的线程同时执行这段代码,x总是从0 开始,每次都会把0 读入寄存器,因此可能是线程不安全的,也可能在一些机器上,这些指令是原子的,就不存在线程安全问题...原创 2020-08-03 08:00:00 · 302 阅读 · 0 评论 -
2020 MIT 6.824 Lecture 2 17:10 进程和线程区别的解释
对于 Unix系统的机器来说,一个进程就是一个单独运行的程序,只有一个地址空间,一大片可供进程使用的内存,在这个进程里 你可能同时会有好多个线程。如果机器上运行了不同的进程,操作系统需要将他们彼此分开,他们无法看到彼此的内存,都有自己独立的内存,不同进程之间不会有交集,但是在同一个进程中,线程与线程之间可以共享内存...原创 2020-08-03 07:46:01 · 173 阅读 · 0 评论 -
java 如何控制多线程的执行顺序
第一种方法 使用jointhread1.start();thread1.join();//等1执行完后 再执行其他线程thread2.start();thread2.join();第二种方法 使用线程池 newSingleThreadExecutorExecutorService executor = Executors.newSingleThreadExecutor();exec...原创 2020-04-26 16:25:10 · 362 阅读 · 0 评论