-
Notifications
You must be signed in to change notification settings - Fork 784
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2019-03-15:如何实现多线程中的同步? #6
Comments
NO 知啊 |
多线程同步跟异步这不是两种事物吗,不是应该线程池跟线程锁吗 |
我了解到的, 大概是这样的几种方式:
@Ssuiyingsen 回答的, 和这个问题, 有点偏离, 不建议这样回答(重点在于解决同步问题, 不是怎么跑起来多个线程); |
线程同步: |
多线程同步和异步不是一回事。 |
线程间的同步实质是保证相城中共享变量的数据同步
|
可以用 synchronized 关键词 作用在代码块上 或者静态非静态方法都可以。 |
volitile主要是在CPU指令禁止重排和多线程访问变量时变量发生变化时,各线程的值是同时变化的。 |
更多的情况下,如果仅仅是一个变量的同步性,我喜欢原子类AtomicInteger AtomicBoolean等等,这样写还简单 |
thread.join也算吗 |
多线程下的线程同步,保证代码在多线程下实现 原子性 可见性 有序性 |
只有6是正确的,其他都是如何异步 |
1.继承线程类,重构运行函数方法 |
|
占坑 |
|
Java里面进行多线程通讯的主要方式就是共享内存的方式,共享内存主要关注的点有两个:可见和有序原子性。Java的内存模型解决了可见性和有序性的问题,而锁解决的是原子性的问题。理想情况下我们希望做到**"同步"和"互斥"**。主要通过以下几种方式:
|
No description provided.
The text was updated successfully, but these errors were encountered: