设为首页 加入收藏

TOP

2013年计算机二级Java多线程的概念学习教程
2014-11-02 19:30:07 】 浏览:193
Tags:2013年 计算机 二级 Java 线程 概念 学习教程

第七章 多线程


7.1 多线程的概念


  多线程编程的含义是可将程序任务分成几个并行的子任务。特别是在网络编程中,你会发现很多功能是可以并发执行的。比如网络传输速度较慢,用户输入速度较慢,你可以用两个独立的线程去完成这个功能,而不影响正常的显示或其他功能。多线程是与单线程比较而言的,普通的WINDOWS采用单线程程序结构,其工作原理是:主程序有一个消息循环,不断从消息队列中读入消息来决定下一步所要干的事情,一般是一个子函数,只有等这个子函数执行完返回后,主程序才能接收另外的消息来执行。比如子函数功能是在读一个网络数据,或读一个文件,只有等读完这数据或文件才能接收下一个消息。在执行这个子函数过程中你什么也不能干。但往往读网络数据和等待用户输入有很多时间处于等待状态,多线程利用这个特点将任务分成多个并发任务后,就可以解决这个问题。


  7.1.1 Java线程的模型


  Java的设计思想是建立在当前大多数操作系统都实现了线程调度。Java虚拟机的很多任务都依赖线程调度,而且所有的类库都是为多线程设计的。实时上,Java支持Macintosh和Ms-dos 的平台; 所以迟迟未出来就是因为这两个平台都不支持多线程。Java利用多线程实现了整个执行环境是异步的。


  在Java程序里没有主消息循环。 如果一个线程等待读取网络数据,它可以运行但不停 止系统的其他线程执行。用于处理用户输入的线程大多时间是等待用户敲键盘或击鼠标。还可以使动画的每一帧时间停顿一秒而并不使系统暂停。 一个线程启动后,它可以被挂起, 暂时不让它执行。 挂起的线程可以重新恢复执行。任何时间线程都可以被停止,被停止的线程就不能再重新启动。


  Java语言里,线程表现为线程类,线程类封装了所有需要的线程操作控制。必须很清晰 地区分开线程对象和运行线程,你可以将线程对象看作是运行线程的控制面板。在线程对象 里有很多函数来控制一个线程是否运行, 睡眠,挂起或停止。线程类是控制线程行为的唯一的手段。


  一个Java程序启动后,就已经有一个线程在运行。你可通过调用Thread.currentThread 函数来查看当前运行的是哪一个线程。当得到一个线程的控制柄,就可以作一个很有趣的事情,即使单线程也一样。下面这个例子让你知道怎样操纵当前线程。


  Filename:testthread


  public class testthread {


  public static void main(String[] args) {


  Thread t =Thread.currentThread(); //调用Thread.currentThread 函数


  t.setName("This Thread is running");


  System.out.println("The running thread:" + t);


  try {


  for (int i=0;i<5;i++) {


  System.out.println("Sleep time "+i);


  Thread.sleep(1000);


  }


  }


  catch (InterruptedException e) {


  System.out.println("thread has wrong");


  }


  }


  }


  执行结果:


  java testthread


  The running thread:Thread[This Thread is running,5,main]


  Sleep time 0


  Sleep time 1


  Sleep time 2


  Sleep time 3


  Sleep time 4


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2013年计算机二级Java类学习教程 下一篇2013年计算机二级Java对象学习教程

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目