我正试图进行Reactor模式(并发),但在很多例子中他们都在讨论'工作线程'.什么是工作线程?它们与"正常"线程的区别是什么?他们在反应堆模式中的作用是什么?
所以我正在使用Ubuntu,当我想在Java中进入全屏模式时,会出现一个普通窗口,其中包含最大屏幕尺寸,而不是没有标题栏等的全屏窗口.我承认,我甚至不确定全屏模式应该是什么看起来像Java,因为我没有在任何其他操作系统上尝试过.但我认为它应该是没有标题栏的屏幕.有这个问题的其他人吗?
这是我使用的代码.; 很直接.
public static void main(String[] args) {
GraphicsEnvironment env = GraphicsEnvironment
.getLocalGraphicsEnvironment();
GraphicsDevice vc = env.getDefaultScreenDevice();
JFrame window = new JFrame();
window.setUndecorated(false);
window.setResizable(false);
vc.setFullScreenWindow(window);
}
Run Code Online (Sandbox Code Playgroud) 大家都知道java IO是阻塞的,java NIO是非阻塞的.在IO中,您必须使用每个客户端模式的线程,在NIO中,您可以为所有客户端使用一个线程.
现在我的问题如下:是否可以仅使用Java IO api 进行非阻塞设计.(不是NIO)
我在考虑这样的模式(显然非常简化);
List<Socket> li;
for (Socket s : li) {
InputStream in = s.getInputStream();
byte[] data = in.available();
in.read(data);
// processData(data); (decoding packets, encoding outgoing packets
}
Run Code Online (Sandbox Code Playgroud)
另请注意,客户端将始终准备好读取数据.
你对此有何看法?这是否适用于至少应该容纳几百个客户端而没有重大性能问题的服务器?