![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
Master_Yoda
Named after the name of God,by your hands!
展开
-
JAVA 多线程学习笔记一
1创建线程的两种方法:继承Thread类myThread mythread=new myThread();//mymyThread()是Thread类的一个子类 mythread.start();实现Runnable接口Runnable runnable=new MyRunnable(); Thread thread=new Thread(runnable); thr...原创 2018-11-12 15:45:19 · 123 阅读 · 0 评论 -
对象及变量的并发访问
1 synchronized同步方法1.1 方法内的变量为线程安全非线程安全问题存在于实例变量中,如果是方法内部的私有变量,则不存在非线程安全问题,我觉得这个是因为每一次调用方法,都会在内存中生成一个新的局部变量。1.2 实例变量非线程安全如果多个线程共同访问一个对象中的实例变量,则有可能出现“非线程安全”的问题,用线程访问的对象中如果有多个实例变量,则运行的结果有可能出现交叉的情况,如果...原创 2018-11-17 09:17:52 · 219 阅读 · 0 评论 -
线程间通信
1 等待/通知机制线程A要等待线程B发出通知才执行,这个时候线程A可以执行wait方法,等待线程B执行notify方法唤醒线程A。消息通知机制注意点wait和notify必须是在同步方法和同步代码块里面调用,要不然会抛出异常notify方法是继承自Object类,可以唤醒在此对象监视器等待的线程,也就是说唤醒的是同一个锁的线程notify方法调用之后,不会马上释放锁,而是运行完该同步方...原创 2018-11-29 20:45:18 · 122 阅读 · 0 评论 -
Lock的使用
java5中的lock对象也能实现同步的效果,并且在使用上更加方便。1 ReentrantLock类ReentrantLock类也可以像synchronized关键字那样实现同步的效果,public class MyService { private Lock lock=new ReentrantLock(); public void testMethod(){ lock.lock(...原创 2018-11-30 21:58:05 · 219 阅读 · 0 评论