java多线程

什么是多线程?

Java 给多线程编程提供了内置的支持。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

新建状态:

使用new关键字和Thread类或其子类建立一个线程。
线程有sleep(睡眠)、suspend(挂起)等方法

死亡状态:
一个运行状态的线程完成任务或者其他终止条件发生时,该线程就切换到终止状态。

创建一个线程:
Java 提供了三种创建线程的方法:

通过实现 Runnable 接口;
通过继承 Thread 类本身;
通过 Callable 和 Future 创建线程。

下面是创建线程代码如下:
class RunnableDemo implements Runnable {
private Thread t;
private String threadName;

RunnableDemo( String name) {
threadName = name;
System.out.println("Creating " + threadName );
}

public void run() {
System.out.println("Running " + threadName );
try {
for(int i = 4; i > 0; i–) {
System.out.println("Thread: " + threadName + ", " + i);
// 让线程睡眠一会
Thread.sleep(50);
}
}catch (InterruptedException e) {
System.out.println(“Thread " + threadName + " interrupted.”);
}
System.out.println(“Thread " + threadName + " exiting.”);
}

public void start () {
System.out.println("Starting " + threadName );
if (t == null) {
t = new Thread (this, threadName);
t.start ();
}
}
}

public class TestThread {

public static void main(String args[]) {
RunnableDemo R1 = new RunnableDemo( “Thread-1”);
R1.start();

  RunnableDemo R2 = new RunnableDemo( "Thread-2");
  R2.start();

}
}

多线程的概念:
线程同步。
线程间通信。
线程死锁。
线程控制:挂起、停止和恢复。

java异步 同步区别:
同步指发送一个请求,需要等待返回;
异步指发送一个请求,不需要等待返回随时可以发送下一个请求不需要等待;

java锁:
锁会升级;
乐观锁:每次去拿数据都认为别人不会修改不会上锁 乐观锁------CAS
悲观锁:每次去拿数据别人都会认为会修改;
自旋锁 :synchronize与 Lock interface;
可重入锁(递归锁)公平锁和非公平锁 可中断锁 共享锁 读写锁 互斥锁;在这里插入图片描述
有很多东西没写,写的不好请见谅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值