zoukankan      html  css  js  c++  java
  • java多线程

    1、创建任务和线程

      任务就是对象。为了创建任务,我们必须首先为任务定义一个类.人任务类必实现runnable接口。Runnable接口非常简单它就包含一个run方法。需要实现这个方法告诉县城将如何运行。

      TaskClass task = new TaskClass();//定义一个TaskClass类,使用它的构造方法创建一个任务。

      Thread thread = new Thread(task);//任务必须在线程中执行,使用此语句创建任务的线程

      thread.start()//告诉java虚拟机该线程准备运行。000

      

     1 public class TaskClass implements Runnable{
     2 
     3     public TaskClass(){
     4 
     5     }
     6     //继承Runnable的run方法
     7     public void run(){
     8     //告诉系统如何运行线程
     9     }
    10  
    11 }
    12 
    13 public class Client{
    14     
    15     public void someMethod{
    16     
    17     TaskClass task = new TaskClass();
    18     //创建线程
    19     Thread thread = new Thread(task);
    20     //开始线程
    21     thread.start();
    22     
    23     }
    24 
    25 }

     2、Thread类

      1)《interface》java.lang.Runnable

      2)+Thread()//创建一个空线程

      3)+Thread(task:Runnable)//为指定任务创建一个线程

      4)+start():void //启动线程使方法run()被JVM调用

      5)+isAlive():boolean //测试线程当前是否正在运行

      6)+setPriority(p:int):void //设置线程的优先级(范围从1到10)

      7)+join():void  //等待线程结束

      8)+sleep(millis: long):void // 是线程睡眠指定的数

      9)+yield():void //使线程暂停并允许执行其他线程

      10)+interrupt() :void //中断线程

    3、GUI时间分发线程

      GUI事件处理和绘图代码在一个被称为事件分发线程(event dispatch thread)的特殊线程执行。由于大多数的Swing方法都不是线程安全的,因此这是很有必要的。从多线程中调用他们可能会导致冲突。

      在某些情况下需要在事件分发线程中运行代码,以避免可能的冲突。可以使用javax.swing.SwingUtilities类中的静态方法invokelater和invokeAndWait来运行事件分发线程的代码。必须将这些代码放到Runnable对象的run方法中,并且将Runnable对象指定为invokelater和invokeAndWait的参数。invokeLater方法立即返回,无需等待时间分发线程执行代码。invokeAndWait 在事件分发线程执行特定的代码前是不会返回的。

    1 public static void main (String args[]){
    2     SwingUtilities.incokeLater(new Runnable(){
    3         public void run(){
    4         //the  code for create a frame and setting its properties
    5         }
    6     });
    7 }
  • 相关阅读:
    ubuntu安装Theano+cuda
    Deep Learning 学习笔记(9):主成分分析( PCA )与 白化( whitening )
    php 基础知识
    php 常用函数
    mysql 学习碎片
    Linux 学习碎片
    php 碎片笔记
    网络资源收集
    php 设计模式
    php 图片添加文字水印 以及 图片合成(微信快码传播)
  • 原文地址:https://www.cnblogs.com/weiliuyby/p/8505221.html
Copyright © 2011-2022 走看看