java多线程--OO方式
来源:互联网 发布:top域名需要备案吗 编辑:程序博客网 时间:2024/05/20 07:59
http://www.35java.com/zhibo/forum.php?mod=viewthread&tid=425&extra=page%3D4
java多线程传说中是面向对象的,但其api按OO思想很大程度上是比较“奇怪”的。1,一般我们认为是一个线程阻塞了另一个线程,但是我们在编写多线程程序时,是使用synchronized或者使用java concurrent包的lock来阻塞另一个线程的,即阻塞一个线程是通过java语义或者对象来完成的,而不是通过另一线程来完成的,可能我们更能接受thread1.block(thread2)这种方式(虽然这种方式不可取,但是这种方式比较符合我们的思维.因为线程代表的是一个运行时的概念,我们在应用中线程的状态随时都可能发生改变,而且难以预料,我们不可能让一个线程做为主体完成线程间的协作,只能通过共享对象来完成线程间的协作。)。注:synchronized使用了java底层的语义做保证,而java concurrent包则更面向对象一点,它提供了一个对象lock来保证。
2,一个线程阻塞自已调用的是object.wait(),唤醒另一个线程使用object.notify()或者java concurrent包中的condition对象的对应方法,而不是thread.block();(需要首先获取对象锁)
一个线程中断另一个线程使用thread.interrupt()。它表示当前线程中断thread线程。
java多线程的OO并不是一个线程直接操作另一线程(对于中断来说是直接操作的),而是通过它们之间桥梁(共享对象)的状态来间接操作另一线程的,这一点需要注意。并且要区分操作对象是当前线程还是另一线程。e.g.object.wait()操作的对象为当前线程,object.notify()操作的对象为另一线程。
- java多线程--OO方式
- java多线程--OO方式
- java OO
- Java多线程:实现方式
- java多线程停止方式
- java 多线程(接口方式)
- JAVA多线程实现方式
- JAVA多线程实现方式
- JAVA多线程实现方式
- java多线程实现方式
- Java多线程通信方式
- java多线程实现方式
- 【Java】多线程实现方式
- Java多线程创建方式
- JAVA多线程实现方式
- Java 多线程--实现方式
- java多线程实现方式
- 实现java多线程方式
- 使用ParallelPeriod注意事项-31日返回空值
- C# 结构体和指针转换
- struts2 s:select 标签
- GridView多表头固定+分组+总计
- JAVA资格认证:JSP中Action属性的功能浅析
- java多线程--OO方式
- Java的clone机制及其可变类与不可变类
- JQuery事件
- 我为什么要学习Hibernate
- linux内核中的min、max函数
- gridview图片过大,连续几次打开关闭程序就会溢出内存该怎么办
- Java正则表达式入门
- 计算机语言的灵魂:范式
- Struts2 + Hibernate开发笔记(一)