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 }
  • 相关阅读:
    【BZOJ 3238】 3238: [Ahoi2013]差异(SAM)
    【BZOJ 4180】 4180: 字符串计数 (SAM+二分+矩阵乘法)
    【BZOJ 3676】 3676: [Apio2014]回文串 (SAM+Manacher+倍增)
    【BZOJ 3998】 3998: [TJOI2015]弦论 (SAM )
    【BZOJ 2946】 2946: [Poi2000]公共串 (SAM)
    【BZOJ 1398】 1398: Vijos1382寻找主人 Necklace (最小表示法)
    【BZOJ 4031】 4031: [HEOI2015]小Z的房间 (Matrix-Tree Theorem)
    【BZOJ 3534】 3534: [Sdoi2014]重建 (Matrix-Tree Theorem)
    【BZOJ 3659】 3659: Which Dreamed It (Matrix-Tree&BEST theorem )
    【BZOJ 4596】 4596: [Shoi2016]黑暗前的幻想乡 (容斥原理+矩阵树定理)
  • 原文地址:https://www.cnblogs.com/weiliuyby/p/8505221.html
Copyright © 2011-2022 走看看