分享

java笔记——进程与多线程

 谔谔热 2017-08-21

多线程(概述)

进程:

是一个正在执行中的程序。(每一个进程执行都有一个执行顺序——该顺序是一个执行路径,或者叫做一个控制单元)

线程:

就是进程中的一个独立控制单元(线程在控制着进程的执行)

**一个进程中至少有一个线程。

主线程:

Java VM启动的时候会有一个进程java.exe。(该进程中至少有一个线程负责java程序的执行,而且这个线程运行的代码存在于main方法中)

创建线程的第二种方式:实现Runnable接口

步骤:

1、定义类实现Runnable接口。

2、覆盖Runnable接口中的run方法。(将线程运行的代码存放在该run方法中)

3、通过Thread类建立线程对象。

1、将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。

(为什么要将Runnable接口的子类对象传递给Thread的构造函数?

因为:自定义的run方法所属的对象是Runnable接口的子类对象。所以,要让线程去指定对象的run方法,就必须明确该run方法所属对象。)

2、调用Thread类的start方法开启线程并调用Runnable接口子类的run方法。

实现方式和继承方式有什么区别呢?

实现方式好处:避免了单继承的局限性。(在定义线程时,建议使用实现方式)

StringBuffer(常见功能——添加)

定义:字符串缓冲区(容器)。

特点:长度是可变化的;可以直接操作多个数据类型;最终通过tostring()方法变成字符串。

功能:CURD(C—create;U—update;R—read;D—delete)

1、存储:

StringBuffer append():将制定数据作为参数添加到已有数据结尾处。

StringBuffer insert(index,数据):可以将数据插入到制定index位置。

2、删除

StringBuffer delete(start,end):删除数据,包含start不包含end。

StringBuffer deleteCharAt(index):删除制定位置上的数据。

3、修改

Char charAt();

Int indexOf(Stirng str);

Int lastindexOf(String str);

Int length();

String substring(int start,int end);

4、查找(获取)

StringBuffer replace(start,end,string);

Void setCharAt(int index,char ch);

5、反转

StringBuffer reverse();

6、将缓冲区中指定数据存储到指定字符数组中

Void getChars(int srcBegin, int srcEnd, char[] chs,int chsBegin);

StringBuffer的简易替代StringBuilder(JDK 1.5版本以后出现)

StringBuffer:线程同步。

StringBuilder:线程不同步。

升级三因素:提高效率;简化书写;提高安全性。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多