zoukankan      html  css  js  c++  java
  • Java基础——多线程(1)

    进程:应用程序在内存中分配的空间(正在运行的程序)。

    线程:是进程中负责程序执行的执行单元,也称为执行路径。

    一个进程中至少有一个线程,在负责该进程的运行。

    如果一个进程中出现了多个线程,就称为该程序为多线程程序。

    多线程技术:解决多部分代码同时执行的需求,合理使用CPU资源。

    多线程的运行是根据CPU的切换完成的,怎么切换是CPU说的算。所多线程运行有一个随机性(CPU快速切换造成的)。

    jvm中的多线程

    至少有两个线程,一个是负责自定义代码运行的,一个是负责垃圾回收的。

    发现结果并不相同,是因为随机性造成的,而每一个线程都有运行的代码内容,这个称之为线程的任务。之所以创建一个线程就是为了运行指定的任务代码。

    而线程的任务都封装在特点的区域中,比如主线程运行的任务都定义在main方法中,垃圾回收线程在finalize方法中。

    (到底是主线程还是垃圾回收线程是CPU说的算,启动了垃圾回收线程并没有立即执行。)

    如何开辟一个新的执行路径?

    通过查阅API文档java.lang.thread类。该类的描述中有创建新执行线程的两种方式。

    1、继承Thread类。

    (1)继承Thread类。(2)覆盖run方法。(3)创建该子类对象,也就是创建了线程对象。(4)调用Thread类中的start方法,开启线程并执行run方法中的内容。

    注意:start()开启线程后,都会执行run(),说明run()中存储的是线程的执行代码,所以,自定义线程的任务代码是放在run()中。

  • 相关阅读:
    BZOJ1430小猴打架——prufer序列
    [集训队作业2018]蜀道难——TopTree+贪心+树链剖分+链分治+树形DP
    BZOJ5063旅游——非旋转treap
    bzoj 4570 妖怪
    Luogu 1452 Beauty Contest
    bzoj 1337 最小圆覆盖
    bzoj 1007 水平可见直线
    Luogu 4724 三维凸包
    bzoj 4827 礼物
    hdu 4348 To the moon
  • 原文地址:https://www.cnblogs.com/lenjava/p/3778832.html
Copyright © 2011-2022 走看看