zoukankan      html  css  js  c++  java
  • Java Thread

    一)进程与线程
    线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。
    进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统内部建立的进程)和用户进程(由用户程序建立的进程);一个进程中可以有一个或多个线程。进程和进程之间不共享内存,也就是说系统中的进程是在各自独立的内存空间中运行的。而一个进程中的线程可以共享系统分派给这个进程的内存空间。
    线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈, 是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。
    在操作系统将进程分成多个线程后,这些线程可以在操作系统的管理下并发执行,从而大大提高了程序的运行效率。虽然线程的执行从宏观上看是多个线程同时执行,但实际上这只是操作系统的障眼法。由于一块CPU同时只能执行一条指令,因此,在拥有一块CPU的计算机上不可能同时执行两个任务。而操作系统为了能提高程序的运行效率,在一个线程空闲时会撤下这个线程,并且会让其他的线程来执行,这种方式叫做线程调度。我们之所以从表面上看是多个线程同时执行,是因为不同线程之间切换的时间非常短,而且在一般情况下切换非常频繁。假设我们有线程A和B。在运行时,可能是A执行了1毫秒后,切换到B后,B又执行了1毫秒,然后又切换到了A,A又执行1毫秒。由于1毫秒的时间对于普通人来说是很难感知的,因此,从表面看上去就象A和B同时执行一样,但实际上A和B是交替执行的。
    本文讨论的是Java Thread.也就是说是一个Java进程中多线程并发的情况。

    二)线程的创建
    创建线程有两种方式: A、继承java.lang.Thread类。 B、实现java.lang.Runnable接口。
    1、继承java.lang.Thread类
    Java代码 复制代码 收藏代码
    1. class ThreadTest extends Thread{
    2. public void run() {
    3. System.out.println ("someting run here!");
    4. }
    5. public static void main (String[] args) {
    6. ThreadTest tt = new ThreadTest();
    7. tt.start();
    8. }
    9. }

  • 相关阅读:
    .net 操作图片类
    js给关键字加亮加超链接
    Windows.h winUser.h
    最新个人所得税计算
    存在架构 无法删除
    MYSql 乱码前台显示
    RichTextBox 关键字 显示颜色
    Sql 查xls语句
    验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。
    高难度TSQL 问题一道
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575983.html
Copyright © 2011-2022 走看看