zoukankan      html  css  js  c++  java
  • 在一个夜黑风高的夜晚,坐在教室里学多线程

    多线程的理解:

    首先唠会嗑啊,我们来说一说线程,跟进程的区别啊;

    进程:cpu分配的一个实例,应用程序的执行实例,开启一个软件就相当于进程

    线程:一个进程中不同的执行路径,进程中执行运算的最小单位,可以完成一个独立的顺序控制进程

    那么多线程字理论字面意思呢就是:在一个进程中同时运行了多线程,用来完成不同的工作则称为多线程,

    多线程的好处:充分的利用cpu资源   简化编程模型  给用户带来很好的体验

    那么理论呢就唠这么多吧   !!!!!!

    那么我们来讲讲  Thread类吧

    讲讲他的属性吧!  

      1)start方法

      start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程来执行用户定义的子任务,在这个过程中,会为相应的线程分配需要的资源。

      2)run方法

      run()方法是不需要用户来调用的,当通过start方法启动一个线程之后,当线程获得了CPU执行时间,便进入run方法体去执行具体的任务。注意,继承Thread类必须重写run方法,在run方法中定义具体要执行的任务。

      3)sleep方法

      sleep相当于让线程睡眠,交出CPU,让CPU去执行其他的任务。

      相信大家都快困了吧 !!!那么我来给大家写个代码实例吧!!!

    public class TheradDame implements Runnable {
    
        @Override
        public void run() {
            System.out.println("线程正在运行!!");
            try {
                Thread.sleep(500);
                System.out.println("线程死了!");
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block    
                e.printStackTrace();
                System.out.println("线程正在堵塞");
            }
        }
            public static void main(String[] args) {
                Thread t = new Thread(new TheradDame(),"t");
                System.out.println("线程正在新建");
                t.start();
                System.out.println("线程就绪状态");
            }
    }
  • 相关阅读:
    C#字符串转换为数字的4种方法
    Linq to SQL Xml Based
    Code Snippets in Visual Studio 2010
    cygwin 压缩
    Cygwin安装Gitolite3
    ubuntu下如何用命令行运行deb安装包
    iconv bom
    __stdcall型dll转lib
    cygwin install lua modules
    luacom cygwin
  • 原文地址:https://www.cnblogs.com/BaoWangZe/p/9053520.html
Copyright © 2011-2022 走看看