并发编程学习笔记1

需要掌握的内容

1.线程的一般创建方法(三种方式),Thread两种创建方式的源码
2.线程的重要api
3.线程的状态
4.线程应用:异步调用,同步等待,并行计算,统筹规划
5.线程的原理运行流程,重要概念
6.两阶段终止的写法和作用

1. 进程与线程

1.1 进程和线程都是个啥

1.资源分配的角度:进程是系统资源分配的最小单位,而引入线程后线程是是资源调度的最小单位
2.从包含关系角度:进程是线程的容器,一个进程可以分为多个线程
3.从原理角度:进程可以看成外存中程序在内存中的实例,程序被运行,就开启了一个进程,可以加载指令,管理内存和IO。而线程是一个指令流,将一条条指令按照一定顺序交给cpu来执行。
4.二者关系:进程所被分配的资源由它内部的线程共享,进程间通信比较复杂,而线程通信比较简单。上下文切换的开销线程比进程更低。

2.并行与并发

单核CPU将时间分成小片给不同的线程来使用,只是我们看来是同时运行,这种过程称之为为并发Concurrent
多核CPU,不同的核心可以调度运行线程,那么真正意义上实现了同时运行,称之为并行

3.线程的运行

3.1 线程的创建

3.1.1 直接使用Thread类

// 构造方法的参数是给线程指定名字
Thread t1 = new Thread("t1") {
   
	@Override
	// run 方法内实现了要执行的任务
	public void run() {
   
	log.debug("hello");
	}
};
t1.start();

3.1.2 使用Runnable与Thread

// 创建任务对象
Runnable task2 = new Runnable() {
   
	@Override
	public void run() {
   
	log.debug("hello");
}
};

// 参数1 是任务对象; 参数2 是线程名字,推荐
Thread t2 = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值