java selector 常用的 10个方法
时间: 2024-06-07 16:09:11 浏览: 145
1. `open()`:创建一个新的Selector。
2. `close()`:关闭Selector。
3. `select()`:阻塞等待至少一个通道准备就绪。
4. `selectNow()`:非阻塞地轮询已注册的通道,返回已经准备就绪的通道数量。
5. `wakeup()`:唤醒阻塞在select()方法上的线程。
6. `selectedKeys()`:返回所有已经就绪的SelectionKey。
7. `keys()`:返回所有已经注册的SelectionKey。
8. `keyFor(Channel channel)`:返回指定通道的SelectionKey。
9. `register(Selector sel, int ops)`:将通道注册到Selector上,并指定监听的事件类型。
10. `cancel()`:取消SelectionKey的注册。
相关问题
java selector 常用的 100个方法
很抱歉,Java Selector 并没有 100 个常用方法。Selector 是 Java NIO 中的一个核心组件,它提供了一种多路复用的方式,可以同时监控多个通道(Channel)的 IO 状态,以及对这些通道进行 IO 操作。在 Selector 中,常用的方法主要有以下几个:
1. open():打开一个 Selector。
2. isOpen():判断 Selector 是否处于打开状态。
3. close():关闭 Selector。
4. select():阻塞等待有通道就绪,返回就绪通道数量。
5. select(long timeout):等待指定时间,如果有通道就绪,返回就绪通道数量。
6. selectNow():非阻塞立即返回就绪通道数量,没有就绪通道返回0。
7. selectedKeys():返回已经就绪的通道的 SelectionKey 集合,可以通过遍历这个集合进行 IO 操作。
8. keys():返回当前已经注册的所有通道的 SelectionKey 集合。
9. wakeup():唤醒 Selector,使其立即返回。
以上是常用的方法,其他方法可以参考 Java NIO 官方文档。
java selector 常用的 50个方法
Java中的Selector类提供了一种选择通道的机制,可以通过Selector注册Channel并监视它们上面发生的事件。以下是Java Selector类中常用的50个方法:
1. open():打开一个新的Selector
2. open(DatagramChannel dc):使用指定的DatagramChannel创建一个新的Selector
3. isOpen():判断Selector是否处于打开状态
4. close():关闭Selector
5. keys():返回所有当前注册的SelectionKey
6. selectedKeys():返回所有已经准备就绪的SelectionKey
7. select():开始选择已经准备就绪的键集合
8. select(long timeout):在指定时间内选择已经准备就绪的键集合
9. selectNow():立即返回准备就绪的键集合,不阻塞
10. wakeup():使一个阻塞的Selector立即返回
11. selectedKeys().remove(key):移除一个已经处理过的SelectionKey
12. keys().size():返回已经注册的SelectionKey数量
13. selectedKeys().size():返回已经准备就绪的SelectionKey数量
14. keys().iterator():返回已经注册的SelectionKey迭代器
15. selectedKeys().iterator():返回已经准备就绪的SelectionKey迭代器
16. select(int numKeys):选择指定数量的已经准备就绪的键集合
17. validOps():返回Selector支持的操作集合
18. select(Selector selector):开始选择已经准备就绪的键集合,并将其复制到另一个Selector
19. select(Selector selector, long timeout):在指定时间内选择已经准备就绪的键集合,并将其复制到另一个Selector
20. register(SelectableChannel ch, int ops):将通道注册到Selector,监视特定事件
21. register(SelectableChannel ch, int ops, Object att):将通道注册到Selector,监视特定事件,并关联一个附件
22. keys().clear():清除所有已经注册的SelectionKey
23. selectedKeys().clear():清除所有已经准备就绪的SelectionKey
24. wakeup():唤醒一个正在阻塞的Selector
25. attach(Object ob):关联一个附件
26. attachment():返回与当前SelectionKey关联的附件
27. interestOps():返回Selector监视的当前通道的事件集合
28. interestOps(int ops):设置Selector监视的当前通道的事件集合
29. selector():返回Selector实例
30. channel():返回与当前SelectionKey关联的通道
31. readyOps():返回当前SelectionKey准备好的操作集合
32. isReadable():判断当前SelectionKey是否可读
33. isWritable():判断当前SelectionKey是否可写
34. isAcceptable():判断当前SelectionKey是否可接受连接
35. isConnectable():判断当前SelectionKey是否可建立连接
36. selector().keys():返回所有已经注册的SelectionKey
37. selector().selectedKeys():返回所有已经准备就绪的SelectionKey
38. select(Selector selector, int numKeys):选择指定数量的已准备就绪的键集合,并将其复制到另一个Selector中
39. selectNow(Selector selector):立即返回准备就绪的键集合,不阻塞,并将其复制到另一个Selector中
40. select(long timeout, Selector selector):在指定时间内选择已准备就绪的键集合,并将其复制到另一个Selector中
41. selectNow(Selector selector, long timeout):在指定时间内选择已准备就绪的键集合,并将其复制到另一个Selector中
42. selectedKeys().toArray():将所有已准备就绪的SelectionKey放入数组中
43. select(int numKeys, Selector selector):选择指定数量的已准备就绪的键集合,并将其复制到另一个Selector中
44. select(long timeout, Selector selector, int numKeys):在指定时间内选择指定数量的已准备就绪的键集合,并将其复制到另一个Selector中
45. select(Selector selector, long timeout, int numKeys):在指定时间内选择指定数量的已准备就绪的键集合,并将其复制到另一个Selector中
46. selectNow(Selector selector, int numKeys):立即返回指定数量的已准备就绪的键集合,不阻塞,并将其复制到另一个Selector中
47. close(SelectionKey key):关闭一个SelectionKey
48. isRegistered():判断当前SelectionKey是否已经注册
49. cancel():注销当前SelectionKey
50. interestOps(int ops):设置Selector监视的当前通道的事件集合
阅读全文