A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  在学习线程的过程中,虽然很多方法会调用,但是对于线程的运行机制还是懵懵懂懂的,一些问题也弄不明白,在此将问题提出,请各位不吝赐教.
1.java是怎么实现多线程的?用到了哪些重要的技术?
2.java中怎样保障线程是安全的?需要满足什么条件?
3.多线程执行时,另外的线程需要等待上锁的线程释放锁后才能得到执行,那么什么时候才会释放对象的锁?

4 个回复

倒序浏览
答一:
实现线程一般有常用的2个技术:
1、继承Thread类实现多线程,如下:
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread1.start();
myThread2.start();

2、实现Runnable接口方式实现多线程,如下:
MyThread myThread = new MyThread();
Thread thread = new Thread(myThread);
thread.start();

答二:
比如说基础视频中的存取钱例子,当多线程同时运行时,数据源要时刻保持一致,这种情况下就得需要加上锁,保证在同一时刻只能有一个线程去执行任务
答三:
当线程运行完成时就会释放锁,或者用sleep函数,线程也会释放锁

回复 使用道具 举报
谢谢了,不过我想要更深入的了解下:lol
回复 使用道具 举报
rsl123456 发表于 2015-5-26 11:48
答一:
实现线程一般有常用的2个技术:
1、继承Thread类实现多线程,如下:

sleep应该不会释放锁把,只有wait才会释放锁,sleep使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行
回复 使用道具 举报
帖子就这么沉了啊?有没有人帮我详细解答啊?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马