swing中的线程】的更多相关文章

Swing中的线程 步骤 1 : 三种线程 在Swing程序的开发中,需要建立3种线程的概念 初始化线程 初始化线程用于创建各种容器,组件并显示他们,一旦创建并显示,初始化线程的任务就结束了. 事件调度线程 通过事件监听的学习,我们了解到Swing是一个事件驱动的模型,所有和事件相关的操作都放是放在事件调度线程 (Event Dispatch)中进行的.比如点击一个按钮,对应的ActionListener.actionPerformed 方法中的代码,就是在事件调度线程 Event Dispat…
理论解释见官方的文档: https://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html 一个Swing程序中一般有下面三种类型的线程: 初始化线程(Initial Thread) UI事件调度线程(EDT) 任务线程(Worker Thread),可以看成后台其他的线程 每个程序必须有一个main方法,这是程序的入口.该方法运行在初始化或启动线程上.初始化线程读取程序参数并初始化一些对象.在许多Swing程序中,该线程…
1. 初始化线程 初始化线程用于创建各种容器,组件并显示他们,一旦创建并显示,初始化线程的任务就结束了. 2. 事件调度线程(单线程:只有一个线程在负责事件的响应工作.) 通过事件监听的学习,我们了解到Swing是一个事件驱动的模型,所有和事件相关的操作都放是放在事件调度线程 (Event Dispatch)中进行的. 比如点击一个按钮,对应的ActionListener.actionPerformed 方法中的代码,就是在事件调度线程 Event Dispatch Thread中执行的. 3.…
talk is cheap , show me the code. Swing中的事件 事件驱动 所有的GUI程序都是事件驱动的.Swing当然也是. GUI程序不同于Command Line程序,一个很大的区别是程序执行的驱动条件:命令行程序是接受用户输入的文本参数,对命令解析,然后通过类似switch的选择来执行不同的功能模块.而GUI程 序就不一样了.GUI程序由界面元素组成,如Button,CheckBox,TextArea,等等.用户操作不同的组件,就会引发不同的事件,然后, 程序编写…
本系列文章导航 深入浅出Java多线程(1)-方法 join 深入浅出Java多线程(2)-Swing中的EDT(事件分发线程) 深入浅出多线程(3)-Future异步模式以及在JDK1.5Concurrent包中的实现 深入浅出多线程(4)对CachedThreadPool OutOfMemoryError难题的一些想法 深入浅出多线程(5)以并行包线程池为例说说线程池的设计需求及使用 深入浅出多线程(6)分析并行包线程池的设计与实现 本文主要解决的问题是: 如何使其Swing程序只能运行一个…
在Swing程序中,经常能看到如下这种代码: SwingUtilities.invokeLater(new Runnable(){ @Override public void run() { textField1.setText("element changed!"); textField1.setForeGround(Color.RED); } }); 为什么要用SwingUtilities.invokeLater,而不直接调用呢?因为大多数SwingAPI是非线程安全的,也就是说不…
Swing中设置关闭窗口验证与添加背景图片 package com.swing.test; import java.awt.EventQueue; import java.awt.Image; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabe…
阅读书籍: Android开发艺术探索 Android开发进阶从小工到专家 对线程池原理的简单理解: 创建多个线程并且进行管理,提交的任务会被线程池指派给其中的线程进行执行,通过线程池的统一调度和管理使得多线程的使用更简单,高效. 使用线程池的优势: 1.重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销. 2.能有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的阻塞现象. 3.能够对线程进行简单的管理,并提供定时执行以及指定间隔循环执行等功能. ThreadPo…
rxjava源码中的线程知识 rx的最精简的总结就是:异步 这里说一下以下的五个类 1.Future2.ConcurrentLinkedQueue3.volatile关键字4.AtomicReference 5.ScheduledExecutorService 一.Future类 1.Future的唯一实现类是FutureTask.        2.这样就可以把Callable放到FutureTask.然后用FutureTask可以Thread thread = new Thread(futu…
文章系参考转载,英文原文网址请参考:http://www.albahari.com/threading/ 作者 Joseph Albahari,  翻译 Swanky Wu 中文翻译作者把原文放在了"google 协作"上面,GFW屏蔽,不能访问和查看,因此我根据译文和英文原版整理转载到园子里面. 本系列文章可以算是一本很出色的C#线程手册,思路清晰,要点都有介绍,看了后对C#的线程及同步等有了更深入的理解. 入门 概述与概念 创建和开始使用多线程 线程同步基础 同步要领 锁和线程安全…
C#中的线程四(System.Threading.Thread) 1.最简单的多线程调用 System.Threading.Thread类构造方法接受一个ThreadStart委托,改委托不带参数,无返回值 public static void Start1() { Console.WriteLine("this is main thread!:{0},{1}", System.Threading.Thread.CurrentThread.CurrentCulture, Thread.…
C#中的线程三(结合ProgressBar学习Control.BeginInvoke) 本篇继上篇转载的关于Control.BeginInvoke的论述之后,再结合一个实例来说明Cotrol.BeginInvoke的功能 通过前面2篇的学习应该得出以下结论 1.Delegate.BeginInvoke中执行的方法是异步的 public static void Start2() { Console.WriteLine("main thread:{0},{1},{2}", Thread.C…
C#中的线程二(Cotrol.BeginInvoke和Control.Invoke) 原文地址:http://www.cnblogs.com/whssunboy/archive/2007/06/07/775319.html 近日,被Control的Invoke和BeginInvoke搞的头大,就查了些相关的资料,整理如下.感谢这篇文章对我的理解Invoke和BeginInvoke的真正含义 .(一)Control的Invoke和BeginInvoke我们要基于以下认识:(1)Control的In…
C#中的线程一(委托中的异步) 一.同步委托 我们平时所用的委托以同步居多,我们编写一个方法和相关委托进行演示: publicdelegatevoid DoSomethingDelegate(string name); //同步委托 public static void Start1() { Console.WriteLine("this is primary thread"); Console.WriteLine("main thread:{0},{1},{2}"…
采用VSTO或者Shared Add-in等技术开发Excel插件,其实是在与Excel提供的API在打交道,Excel本身的组件大多数都是COM组件,也就是说通过Excel PIA来与COM进行交互.这其中会存在一些问题,这些问题如果处理不好,通常会导致在运行的时候会抛出难以调试的COM异常,从而导致我们开发出的Excel插件的不稳定. 和普通的WinForm程序一样,Excel也是一种STA(Single Thread Apartment)线程的应用程序,Excel插件是寄宿在Excel中运…
  Choosing the threading model for an object depends on the object's function. An object that does extensive I/O might support free-threading to provide maximum response to clients by allowing interface calls during I/O latency. On the other hand, an…
[摘要] 本文诣在展示如何在Swing中引入 NinePatch技术(早期有文章里中文译作九格图,暂且这么叫吧^_^,但此术非传统移动手机上的功能布局——九格图哦). [准备篇] Q:何为 NinePatch技术? A:说简单点,就是用于对图片据屏幕大小进行自动拉伸的技术.更准确的介绍详见此文:http://www.yixieshi.com/ucd/9142.html. NinePatch技术本身虽微不足道,但它对于 UI定制开发来说无疑是相当有价值的.也可直接看官方指南:http://deve…
一,在centos linux 上查看进程占用cpu过高 top  shift+h 查看哪个进程程消耗最高     二,查看JAVA进程中哪个线程消耗最高   2.1 导出java运行的线程信息   jstack 进程id(jps查看) jstack 进程id > ps.txt jstack -l 进程id (窗口打印)     //另外还有一种方式   如果启动方式如下: nohup java -classpath conf/:my.jar com.tank.manClass>./log.o…
http://hi.baidu.com/ochzqvztdbabcir/item/ab9758f9cfab6a5ac9f337d4 相濡以沫 Java语法总结 - 线程 一 提到线程好像是件很麻烦很复杂的事,事实上确实如此,涉及到线程的编程是很讲究技巧的.这就需要我们变换思维方式,了解线程机制的比较通用的技巧,写出高 效的.不依赖于某个JVM实现的程序来.毕竟仅仅就Java而言,各个虚拟机的实现是不同的.学习线程时,最令我印象深刻的就是那种不确定性.没有保障 性,各个线程的运行完全是以不可预料的…
前言 当所有的线程在互相之间不需要进行通信的情况下就能够顺利地运行时, Micrsoft Windows的运行性能最好.但是,线程很少能够在所有的时间都独立地进行操作.通常情况下,要生成一些线程来处理某个任务.当这个任务完成时,另一个线程必须了解这个情况. 系统中的所有线程都必须拥有对各种系统资源的访问权,这些资源包括内存堆栈,串口,文件,窗口和许多其他资源.如果一个线程需要独占对资源的访问权,那么其他线程就无法完成它们的工作.反过来说,也不能让任何一个线程在任何时间都能访问所有的资源.如果在一…
在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static ! 在C语言中,我们使用pthread_create创建线程,线程函数是一个全局函数,所以在C++中,创建线程时,也应该使用一个全局函数.static定义的类的成员函数就是一个全局函数. 更多 参考  http://blog.csdn.net/ksn13/article/details/40538083 #include <pthread.h> #…
[Sciter系列] MFC下的Sciter–5.Sciter中GUI线程研究,目前MFC存在问题,win32没问题. 本系列文章的目的就是一步步构建出一个功能可用,接口基本完善的基于MFC框架的SciterFrame程序,以此作为以后程序的基础.其中,文章中按照如下逻辑编排(解决如下问题): 1.使用什么环境 2.完成什么功能 3.如何完成 1.工程环境: VS2010 + Sciter-SDK + Win7 建议:HTML页面使用的是Demo中ui-framework的UI界面,执行函数也完…
线程生命周期-理解Java中的线程状态 在多线程编程环境下,理解线程生命周期和线程状态非常重要. 在上一篇教程中,我们已经学习了如何创建java线程:实现Runnable接口或者成为Thread的子类,但启动一个java线程,则需要先创建一个Thread实例,然后调用此实例上的start(),这个线程就被启动了并会调用run()方法执行任务. 线程状态 下图展示了java线程中的几种不同状态,我们创建一个线程并启动它,但该线程何时从状态Runnable变为Running以及Blocked则取决于…
第三部分:使用多线程 1.  单元模式和Windows Forms 单元模式线程是一个自动线程安全机制, 非常贴近于COM——Microsoft的遗留下的组件对象模型.尽管.NET最大地放弃摆脱了遗留下的模型,但很多时候它也会突然出现,这是因为有必要与旧的API 进行通信.单元模式线程与Windows Forms最相关,因为大多Windows Forms使用或包装了长期存在的Win32 API——连同它的单元传统. 单元是多线程的逻辑上的“容器”,单元产生两种容量——“单的”和“多的”.单线 程…
转自:http://blog.jobbole.com/44409/ 线程 类std::thread代表一个可执行线程,使用时必须包含头文件<thread>.std::thread可以和普通函数,匿名函数和仿函数(一个实现了operator()函数的类)一同使用.另外,它允许向线程函数传递任意数量的参数. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <thread>   void func() {    // do some work }  …
终止线程的三种方法      有三种方法可以使终止线程.      1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止.      2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend.resume一样,也可能发生不可预料的结果).      3.  使用interrupt方法中断线程.  1. 使用退出标志终止线程      当run方法执行完后,线程就会退出.但有时run方法是永远不会结束的.如在服务端程序中使用线程进行监听客户端请求,或…
Java5增加了新的类库并发集java.util.concurrent,该类库为并发程序提供了丰富的API多线程编程在Java 5中更加容易,灵活.本文通过一个网络服务器模型,来实践Java5的多线程编程,该模型中使用了Java5中的线程池,阻塞队列,可重入锁等,还实践了 Callable, Future等接口,并使用了Java 5的另外一个新特性泛型. 简介 本文将实现一个网络服务器模型,一旦有客户端连接到该服务器,则启动一个新线程为该连接服务,服务内容为往客户端输送一些字符信息.一个典型的网…
1.  单元模式和Windows Forms 单元模式线程是一个自动线程安全机制, 非常贴近于COM——Microsoft的遗留下的组件对象模型.尽管.NET最大地放弃摆脱了遗留下的模型,但很多时候它也会突然出现,这是因为有必要与旧的API 进行通信.单元模式线程与Windows Forms最相关,因为大多Windows Forms使用或包装了长期存在的Win32 API——连同它的单元传统. 单元是多线程的逻辑上的“容器”,单元产生两种容量——“单的”和“多的”.单线 程单元只包含一个线程:多…
1.     概述与概念 C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行.一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为"主线程")自动创建的,并具有多线程创建额外的线程.这里的一个简单的例子及其输出: 除非被指定,否则所有的例子都假定以下命名空间被引用了:      using System;     using System.Threading; 1 2 3 4 5 6 7 8 9 10 11 class Thread…
前段时间有幸接到腾讯上海分公司的 Android开发面试,虽然最后一轮被毙了.但还是得总结一下自己在android开发中的一些盲点,最让我尴尬的是面试官问我几个android中线程池的使用与理解..哎..平时就知道new 线程要么用Asynctask,再者就是从github上下载大神写的一些开源库,虽然里面涉及到了线程池,但自己最多就是改改里面的最大线程数,没有仔细研究里面对线程池的使用..结果被腾讯鄙视了一回.....好了牢骚发完了..我来分享一下我对这块知识点的理解. 先给大家给两个连接 h…