六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

多線程程序設(shè)計(jì) (轉(zhuǎn))

[摘要]多線程程序設(shè)計(jì) ◆ 多線程簡(jiǎn)介   線程(thread)是操作系統(tǒng)分配 CPU 時(shí)間的基本實(shí)體。每一個(gè)應(yīng)用程序至少有一個(gè)線程,也可以擁有多個(gè)線程。線程是程序中的代碼流。多個(gè)線程可以同時(shí)運(yùn)行,并能共享...
多線程程序設(shè)計(jì)


◆ 多線程簡(jiǎn)介

  線程(thread)是操作系統(tǒng)分配 CPU 時(shí)間的基本實(shí)體。每一個(gè)應(yīng)用程序至少有一個(gè)線程,也可以擁有多個(gè)線程。線程是程序中的代碼流。多個(gè)線程可以同時(shí)運(yùn)行,并能共享資源。

  線程與進(jìn)程不同,每個(gè)進(jìn)程都需要操作系統(tǒng)為其分配獨(dú)立的地址空間。而同一進(jìn)程中的各個(gè)線程是在同一塊地址空間中工作。

  在 Java 程序中,一些動(dòng)態(tài)效果(如動(dòng)畫(huà)的實(shí)現(xiàn)、動(dòng)態(tài)的字幕等)常利用多線程技術(shù)來(lái)實(shí)現(xiàn)。

  在 Java 語(yǔ)言中可以非常方便地使用多線程。和 Visual C++ 相比,Java 的多線程既容易學(xué)習(xí),又容易使用。

◆ 創(chuàng)建多線程的兩種辦法:

  (1)建立類(lèi) Thread 的子類(lèi)

  (2)實(shí)現(xiàn)接口 Runnable

  第二個(gè)辦法比第一個(gè)使用得更為廣泛。本講座重點(diǎn)講解第二個(gè)辦法。

◆ 接口


  Java 語(yǔ)言取消了 C++ 的多重繼承(“多重繼承”常常使 C++ 程序員陷入混亂之中)。Java 增加了“接口”(interface)的概念,使 Java 在取消多重繼承后,并未使功能下降。

  “接口”(interface)是一種特殊的類(lèi)。當(dāng)你定義一個(gè)類(lèi)時(shí),可以“實(shí)現(xiàn)”(implements)一個(gè)(或多個(gè))接口。語(yǔ)法如下:

  class 類(lèi)名 extends 超類(lèi)名 implements 接口名

◆ 例 1.5.1 一個(gè)最簡(jiǎn)單的多線程小應(yīng)用程序

import java.applet.*;
import java.awt.*;
public class k04a extends Applet implements Runnable
{
  private Thread m_k04a = null;
  public k04a()
  {
  }
  public void paint(Graphics g)
  {
    g.drawString("Running: " + Math.random(), 10, 20);
  }
  public void start()
  {
    m_k04a = new Thread(this);
    m_k04a.start();
  }
  public void stop()
  {
    m_k04a.stop();
    m_k04a = null;
  }
  public void run()
  {
    while (true)
    {
      try
      {
        repaint();
        Thread.sleep(200);
      }
      catch (InterruptedException e)
      {
        stop();
      }
    }
  }
}


◆ 控制線程的生命周期

  (1)start()方法 啟動(dòng)一個(gè)線程

  (2)run()方法 定義該線程的動(dòng)作

  (3)sleep()方法 使線程睡眠一段時(shí)間,單位為毫秒

  (4)suspend()方法 使線程掛起

  (5)resume()方法 恢復(fù)掛起的線程

  (6)yield()方法 把線程移到隊(duì)列的尾部

  (7)stop()方法 結(jié)束線程生命周期并執(zhí)行清理工作

  (8)destroy()方法 結(jié)束線程生命周期但不做清理工作

  其中最常用的是start(),run(),sleep(),stop()。

◆ try —— catch 語(yǔ)句

  用于對(duì)“異常”的處理。和“錯(cuò)誤”相比,“異常”是比較輕微的。它是指程序在運(yùn)行中發(fā)生的意外情況。(try - catch 語(yǔ)句在 C++ 中也有)。

  在執(zhí)行 try 后面的語(yǔ)句時(shí),如果發(fā)生異常,則執(zhí)行 catch 后面的語(yǔ)句。

◆ 例 1.5.2 流動(dòng)的標(biāo)題

  該程序在運(yùn)行時(shí),三個(gè)標(biāo)題在由下而上不斷變換。

HTML 文件中的寫(xiě)法:(三個(gè)圖片要事先做好)



JAVA 源程序:

import java.awt.*;
import java.applet.Applet;

public class testani extends Applet implements Runnable
{
  Thread runner;
  Image imgs[];
  int high, y1, y2, y3;
  public void init()
  {
    high = size().height;
    y1 = high;
    y2 = high*2;
    y3 = high*3;
    imgs = new Image[10];
    for(int i=0;i<3;i++)
      imgs[i]=getImage(getCodeBase(),getParameter("image"+(i+1)));
  }
  public void start()
  {
    runner = new Thread(this);
    runner.start();
  }
  public void stop()
  {
    runner.stop();
    runner = null;
  }
  public void run()
  {
    while (runner != null)
    {
      try
      {
        Thread.sleep(100);
        repaint();
        y1--;
        if(y1==0)
        {
          Thread.sleep(3000);
          y2=high;
        }
        y2--;
        if(y2==0)
        {
          Thread.sleep(3000);
          y3=high;
        }
        y3--;
        if(y3==0)
        {
          Thread.sleep(3000);
          y1 = high;
        }
      }
      catch (InterruptedException e){}
    }
  }
  public void paint(Graphics g)
  {
    g.drawImage(imgs[0], 0, y1, this);
    g.drawImage(imgs[1], 0, y2, this);
    g.drawImage(imgs[2], 0, y3, this);
  }
  public void update(Graphics g)
  {
    paint(g);
  }
}




主站蜘蛛池模板: 在线免费看污视频 | 亚洲日本在线免费观看 | 青青草原国产在线观看 | 天天天天添天天拍天天谢 | 最近免费韩国高清在线观看 | 自偷自拍亚洲综合精品 | 午夜小视频免费观看 | 亚洲一二三四区 | 日本网络视频www色高清免费 | 五月激情在线 | 日韩在线www | 欧美中文在线 | 日韩一级黄色毛片 | 五月激情六月丁香 | 日韩a级 | 日韩黄色精品 | 四虎影视在线影院在线观看 | 亚洲伦理在线观看 | 特级一级毛片 | 亚洲影视一区二区 | 香蕉三级 | 青草青青在线视频 | 婷婷夜夜躁天天躁人人躁 | 午夜官网 | 日韩欧美在线综合 | 亚洲一区二区三区免费观看 | 日韩在线不卡视频 | 天堂网在线最新版官网 | 亚洲一区免费看 | 亚洲主播自拍 | 日本中文字幕在线视频站 | 天天澡天天碰天天狠伊人五月 | 三级特黄高清完整视频 | 在线五月婷婷 | 青青青在线免费观看 | 在线播放亚洲视频 | 欧美亚洲另类一区中文字幕 | 天天干天天曰天天操 | 一级黄色a级片 | 香蕉依人 | 欧美在线xx |