首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏码匠的流水账

    聊聊storm client的netty buffer watermark

    ); } } private void setWritable(boolean invokeLater) { for (;;) { = 0 && newValue == 0) { fireChannelWritabilityChanged(invokeLater); ) { final ChannelPipeline pipeline = channel.pipeline(); if (invokeLater) { break; } } } private void fireChannelWritabilityChanged(boolean invokeLater ) { final ChannelPipeline pipeline = channel.pipeline(); if (invokeLater) {

    2K60发布于 2018-11-01
  • 来自专栏JavaEdge

    Swing 的任务线程与 EDT 事件分发队列模型

    为何用invokeLater,而不直接调用呢? 大多数Swing的API非线程安全,不能在任意地方调用,应该只在EDT中调用。 Swing的线程安全靠事件队列和EDT来保证。 在初始化线程(即禁止在main方法中直接创建Frame,在初始化线程中应使用invokeLater初始化GUI) 任务线程同Swing组件或其缺省数据模型进行的交互 都是非线程安全性操作。 8 invoke系方法 对非EDT的并发调用需通过invokeLater()和invokeAndWait()使请求插入到队列中等待EDT去执行。 在下面的示例中,invokeLater调用将Runnable对象doHelloWorld排队在事件分配线程上,然后打印一条消息。 从1.3版本开始,此方法只是java.awt.EventQueue.invokeLater()的封面。 与Swing的其余部分不同,可以从任何线程调用此方法。

    1.4K22发布于 2020-05-26
  • 来自专栏码匠的流水账

    聊聊storm client的netty buffer watermark

    ); } } private void setWritable(boolean invokeLater) { for (;;) { = 0 && newValue == 0) { fireChannelWritabilityChanged(invokeLater); ) { final ChannelPipeline pipeline = channel.pipeline(); if (invokeLater) { break; } } } private void fireChannelWritabilityChanged(boolean invokeLater ) { final ChannelPipeline pipeline = channel.pipeline(); if (invokeLater) {

    69320发布于 2018-12-05
  • 来自专栏csico

    深入理解Netty---从偶现宕机看Netty流量控制

    private void incrementPendingOutboundBytes(long size, boolean invokeLater) { if (size == 0) { ); } } private void setUnwritable(boolean invokeLater) { for (;;) { final int oldValue = 0) { fireChannelWritabilityChanged(invokeLater); } break; private void decrementPendingOutboundBytes(long size, boolean invokeLater, boolean notifyWritability) ); } } private void setWritable(boolean invokeLater) { for (;;) { final int oldValue

    74040发布于 2021-10-12
  • 来自专栏奔跑的蛙牛技术博客

    Java图形程序设计

    .*; public class SimpeFrameTest { public static void main(String[] args){ EventQueue.invokeLater SimpleFrame(){ setSize(DEAULT_WIDTH,DEAULT_Height); } } 所有的Swing组件必须由时间分派线程(EventQueue.invokeLater java.awt.*; public class SizeFrameTest { public static void main(String[] args){ EventQueue.invokeLater com.sun.tools.internal.xjc.reader.Ring.add; public class SizeFrameTest { public static void main(String[] args){ EventQueue.invokeLater

    1.2K20发布于 2018-09-05
  • 来自专栏vivo互联网技术

    深入理解Netty---从偶现宕机看Netty流量控制

    private void incrementPendingOutboundBytes(long size, boolean invokeLater) { if (size == 0) { ); } } private void setUnwritable(boolean invokeLater) { for (;;) { final int oldValue = 0) { fireChannelWritabilityChanged(invokeLater); } break; private void decrementPendingOutboundBytes(long size, boolean invokeLater, boolean notifyWritability) ); } } private void setWritable(boolean invokeLater) { for (;;) { final int oldValue

    1.2K20发布于 2021-09-28
  • 来自专栏大数据

    Java一分钟之-Java图形绘制:Graphics2D与Shape

    SwingUtilities.invokeLater(() -> { // 更新GUI操作... }); 如何避免这些问题 始终调用super.paintComponent(g)  以确保画布被正确清理 遵守线程规则,使用SwingUtilities.invokeLater()或EventQueue.invokeLater()更新GUI。 通过以上介绍,你应该对Java图形绘制有了更深入的理解。

    1.2K10编辑于 2024-05-31
  • 打开窗体再启动按钮

    ); } } public class Main { public static void main(String[] args) { SwingUtilities.invokeLater 在main方法中,我们通过SwingUtilities.invokeLater()方法来创建窗体,并执行new MyForm()来打开窗口。

    17510编辑于 2025-08-29
  • 来自专栏IT码农

    JAVA Graphics 文字绘制:变色、渐变、阴影、倾斜、立体

    changeColorTextPanel = new ChangeColorTextPanel(); public static void main(String args[]) { EventQueue.invokeLater gradientTextPanel = new GradientTextPanel(); public static void main(String args[]) { EventQueue.invokeLater shadowTextPanel = new ShadowTextPanel(); public static void main(String args[]) { EventQueue.invokeLater shearTextPanel = new ShearTextPanel(); public static void main(String args[]) { EventQueue.invokeLater solidTextPanel = new SolidTextPanel(); public static void main(String args[]) { EventQueue.invokeLater

    3.4K43编辑于 2022-05-10
  • Java+Swing实现仿QQ聊天源码+Socket编程实际案例

    public static void main(String[] args) { // 使用SwingUtilities确保在事件分发线程中创建UI SwingUtilities.invokeLater Override public void onConnected() { SwingUtilities.invokeLater Override public void onDisconnected() { SwingUtilities.invokeLater public void onConnectionError(String error) { SwingUtilities.invokeLater qqClient.connect(); } } catch (IOException e) { SwingUtilities.invokeLater

    26010编辑于 2025-06-19
  • 来自专栏全栈程序员必看

    随机抽奖小程序_在线随机抽号小程序

    private RandomNum randomThread=new RandomNum(); public static void main(String args[]) { EventQueue.invokeLater InterruptedException e) { e.printStackTrace(); } final int num = (int) (Math.random() * 10); //生成随机数 EventQueue.invokeLater randomThread.join(); //等抽奖线程结束 } catch (InterruptedException e1) { e1.printStackTrace(); } EventQueue.invokeLater

    4.5K20编辑于 2022-09-19
  • 来自专栏全栈程序员必看

    Runnable 和Callable的实现与区别,应用场景

    5、通过事件分配线程直接使用程序中的原有线程: 使用方法: 直接调用EventQueue类的静态方法invokeLater(): EventQueue.invokeLater(oneRunnable ); 注释:调用EventQueue.invokeLater(oneRunnable);会直接执行oneRunnable对象中的run()方法 Callable使用 /** * CallableImpl

    1.9K20编辑于 2022-07-25
  • 来自专栏嗷呜大嘴狼

    JavaSwing界面跳转技巧

    frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater

    77840编辑于 2023-08-08
  • 来自专栏编译思想

    IDEA Web渲染插件开发(二)— 自定义JsDialog

    在Java AWT中解决的方式,调用EventQueue.invokeLater(() -> { // do something} )(异步)或是EventQueue.invokeAndWait(() 现在,我们回到一开始的问题,我们重新修改代码: if (dialog_type == JSDIALOGTYPE_ALERT) { // alert 对话框 EventQueue.invokeLater 而EventQueue.invokeLater中所运行的线程是:AWT-EventQueue-0,这个线程就是IDEA插件中的GUI线程。 JSDIALOGTYPE_CONFIRM分支进行: if (dialog_type == JSDIALOGTYPE_CONFIRM) { // confirm 对话框 EventQueue.invokeLater onJSDialog中对prompt类型的对话框进行处理: if (dialog_type == JSDIALOGTYPE_PROMPT) { // prompt 对话框 EventQueue.invokeLater

    1.7K10编辑于 2023-10-16
  • 来自专栏luozhiyun的技术学习

    Netty源码解析---服务端启动

    wasActive && isActive()) { invokeLater(new Runnable() { @Override else { javaChannel().socket().bind(localAddress, config.getBacklog()); } } 在invokeLater 里面加入了异步执行过程,通过提交一个新任务到EventLoop的线程中 private void invokeLater(Runnable task) { try try { doBeginRead(); } catch (final Exception e) { invokeLater

    79810发布于 2019-09-10
  • 来自专栏Netty历险记

    Netty的高低水位

    incrementPendingOutboundBytes(long, boolean) private void incrementPendingOutboundBytes(long size, boolean invokeLater if (newWriteBufferSize > channel.config().getWriteBufferHighWaterMark()) { setUnwritable(invokeLater

    1.1K30编辑于 2022-06-02
  • 来自专栏bit哲学院

    《Java 2 图形设计卷Ⅱ- SWING》第2章 Swing的基本知识

    1.SwingUtilities invokeLater  在介绍invokeLater和invokeAndWait方法之前,我们首先来看一个小应用程序,由于是从事件派发线程以外的线程中更新Swing组件 GetInfoThread类的run方法调用SwingUtilities.invokeLater并把对进度条的引用传送给可运行对象。      虽然,invokeLater在把可运行对象放入队列后就返回,而InvokeAndWait一直等待直到已启动了可运行对象的run方法才返回。 无论何时使用invokeLater()都必须捕捉这些异常,否则,调用invokeLater()的方法中必须有一个throw子句。   invokeLater(),却不能从事件派发线程中调用invokeAndWait。

    3.6K20发布于 2020-12-10
  • 来自专栏自学笔记

    Data Structure_JavaSwing

    要开启其实很简单: public AlgoCanvas(){ super(true); } 简单动画 EventQueue.invokeLater nextInt(5), new Random().nextInt(5)); circles[i] = circle; } EventQueue.invokeLater AlgorithmFrame frame; public AlgorithmVisualizer(int sceneWidth, int sceneHeight) { EventQueue.invokeLater

    75230发布于 2019-01-23
  • 来自专栏实用技术

    javax.swing自带的几种显示风格.使用LookAndFeelInfo查看

    MainGroupLayoutUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } java.awt.EventQueue.invokeLater

    55010编辑于 2022-02-10
  • 来自专栏算法之名

    算法可视化 顶

    int sceneHeight,int N) { //初始化数据 // TODO: 初始化数据 //初始化视图 EventQueue.invokeLater 0;i < money.length;i++) { money[i] = 100; } //初始化视图 EventQueue.invokeLater 0;i < money.length;i++) { money[i] = 100; } //初始化视图 EventQueue.invokeLater 0;i < money.length;i++) { money[i] = 100; } //初始化视图 EventQueue.invokeLater 2,sceneWidth / 2); data = new MonteCarloPiData(circle); //初始化视图 EventQueue.invokeLater

    1.4K30发布于 2020-03-19
领券