zoukankan      html  css  js  c++  java
  • Java Multithreading

    ref: http://www.studytonight.com/java/multithreading-in-java

    Multithreading      

    A program can be divided into a number of small processes. Each small process can be addressed as a single thread (a lightweight process). Multithreaded programs contain two or more threads that can run concurrently. This means that a single program can perform two or more tasks simultaneously. For example, one thread is writing content on a file at the same time another thread is performing spelling check.

    In Java, thread means two different things:

    1. an instance of Thread 

    2. a thread execution

    An instance of Thread class is just an object, like any other object in java. But a thread of execution means an individual "lightweight" process that has its own call stack. In java each thread has its own call stack

    The main thread

    Even if you don't create any thread in your program, a thread called main thread is still created. Although the main thread is automatically created, you can control it by obtaining a reference to it by calling currentThread() method.

    Two important things to know about main thread are,

    • It is the thread from which other threads will be produced.
    • main thread must be always the last thread to finish execution.
    class MainThread
    {
     public static void main(String[] args)
     {
      Thread t=Thread.currentThread();
      t.setName("MainThread");
      System.out.println("Name of thread is "+t);
     }
    }

    Output :
    Name of thread is Thread[MainThread,5,main]

    Life cycle of a Thread

    1. New : A thread begins its life cycle in the new state. It remains in this state until the start() method is called on it.
    2. Runable : After invocation of start() method on new thread, the thread becomes runable.
    3. Running : A method is in running thread if the thread scheduler has selected it.
    4. Waiting : A thread is waiting for another thread to perform a task. In this stage the thread is still alive.
    5. Terminated : A thread enter the terminated state when it complete its task

    Thread Priorities

    Every thread has a priority that helps the operating system determine the order in which threads are scheduled for execution. In java thread priority ranges between,

    • MIN-PRIORITY (a constant of 1)
    • MAX-PRIORITY (a constant of 10)

    By default every thread is given a NORM-PRIORITY(5). The main thread always have NORM-PRIORITY.





  • 相关阅读:
    Hibernate批量处理海量数据的方法
    策略模式
    SQL联合查询(内联、左联、右联、全联)的语法(转)
    git远程仓库
    datePiker弹出框被其他div遮挡
    RabbitMQ 主题(Topic)
    【计算机视觉】行为识别(action recognition)相关资料
    【计算机视觉】行为识别(action recognition)相关资料
    【计算机视觉】基于Shading Model(对光照变化一定不变性)的运动目标检测算法
    【计算机视觉】基于Shading Model(对光照变化一定不变性)的运动目标检测算法
  • 原文地址:https://www.cnblogs.com/morningdew/p/5618981.html
Copyright © 2011-2022 走看看