zoukankan      html  css  js  c++  java
  • java中的线程

    1.什么是线程

          说到线程就是说进程,因为线程不能独立进程而存在.

          进程是代码在数据集合上的一次运行活动 , 是系统进行资源分配和调度的基本单位 , 线程则是进程的一个执行路径, 一个进程中至少有一个线程,进程中的多个线程共享进程的资源。

          在这里我们要知道,真正执行任务的或占用CPU运行的是线程,所以说线程是CPU分配的基本单位.

           我们通常写的java main函数就是一个线程,也程为主线程.

           1.1线程创建的方式

                  三种方式:

                                实现Runnable接口的run方法

                                     

    public static class RunableTask implements Runnable{
    
            @Override
            public void run() {
                System.out.println("hello,我是RunableTask的线程");
            }
        }
    
        public static void main(String[] args) {
    
            RunableTask task = new RunableTask();
            new Thread(task).start();
            new Thread(task).start();
    }

                                继承Thread类并重写run的方法

    public static class MyThread extends Thread{
            @Override
            public void run() {
                System.out.println("hello,我是MyThread的线程");
            }
        }
        
        public static void main(String[] args) {
    
            MyThread myThread = new MyThread();
            myThread.start();
    }

    2.多线程

          一个进程中可以有多线程,多个线程是共享进程的堆和方法区资源的.但是每个线程都有自己的程序计数器和栈区域.

          多线程中的死锁:

                    互斥条件  ,请求并持有条件,   不可剥夺条件,   环路等待条件          

    2.线程安全

    3.同步类型

    ...
  • 相关阅读:
    [译] 第二十天:Stanford CoreNLP
    [译] 第十九天: Ember
    [译] 第十八天:BoilerPipe
    [译] 第十七天:JBoss Forge
    [译] 第十六天: Goose Extractor
    [译] 第十五天:Meteor
    [译] 第十四天:Standford NER
    [译] 第十三天:Dropwizard
    [译] 第十二天: OpenCV
    hadoop-MR
  • 原文地址:https://www.cnblogs.com/javage/p/11058170.html
Copyright © 2011-2022 走看看