黑马程序员技术交流社区
标题:
学习线程的一些疑惑,请教各位大神!
[打印本页]
作者:
人在旅途~东营
时间:
2015-5-26 00:34
标题:
学习线程的一些疑惑,请教各位大神!
在学习线程的过程中,虽然很多方法会调用,但是对于线程的运行机制还是懵懵懂懂的,一些问题也弄不明白,在此将问题提出,请各位不吝赐教.
1.java是怎么实现多线程的?用到了哪些重要的技术?
2.java中怎样保障线程是安全的?需要满足什么条件?
3.多线程执行时,另外的线程需要等待上锁的线程释放锁后才能得到执行,那么什么时候才会释放对象的锁?
作者:
rsl123456
时间:
2015-5-26 11:48
答一:
实现线程一般有常用的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函数,线程也会释放锁
作者:
人在旅途~东营
时间:
2015-5-26 16:17
谢谢了,不过我想要更深入的了解下:lol
作者:
l598790586
时间:
2015-5-26 17:06
rsl123456 发表于 2015-5-26 11:48
答一:
实现线程一般有常用的2个技术:
1、继承Thread类实现多线程,如下:
sleep应该不会释放锁把,只有wait才会释放锁,sleep使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行
作者:
人在旅途~东营
时间:
2015-5-26 21:59
帖子就这么沉了啊?有没有人帮我详细解答啊?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2