总结
大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。
麻烦帮忙转发一下这篇文章+关注我
匿名Runnbale类 如果只使用一次 可以使用匿名内部类在Thread里
public class MyThread {
public static void main(String[] args) {
MyThread1 myThread1 = new MyThread1();
Thread thread = new Thread(myThread1);
thread.start();
}
}
‘ 3.实现Callable接口 关于实现Callable暂时不讲
2、获取线程和修改线程名称
=============
获取线程ID和线程名称
1.在Thread的子类调用this.getId()或this.getName()来获取ID和线程名称 但是这种方式缺点是:必须要继承Thread才能调用
2.使用Thread.currenThread().getId和Thread.currenThread().getName()来获取ID和名称 推荐使用这种方式 不用继承Thread 直接可以使用
修改线程名称
1.调用线程队形的setName()方法
2.使用线程子类构造方法赋值
public class MyThread {
public static void main(String[] args) {
Thread thread = new Thread("我的线程1");
thread.setName("我的线程1");
}
}
3、抢占式调度
=======
Java是抢占式调度 当多个线程执行的时候 每个线程都会去抢占CPU 而CPU会把时间平均分给每个线程时间(时间片) 当线程的时间片使用完后 又把CPU使用还回去 又给其他线程执行
4、Thread常见方法
常见方法
\*休眠:
public static void sleep(long millis) 休眠程序 1000毫秒 == 1秒
\*放弃
public static void yield()
当前线程主动放弃时间片 回到就绪状态 竞争下一次时间片
\*加入:
public final void join()
允许其他线程加入到当前线程中
\*优先级
线程对象.setPriority()
线程优先级1-10 默认为5 优先级越高 表示获取CPU机会越多
\*守护线程
线程对象setDaemon(true)设置为守护线程
线程有两类:用户线程(前台线程)、守护线程(后台线程)
如果程序中所有前台线程都执行完毕了 后台线程会自动结束
垃圾回收器线程属于守护线程
5、同步线程
======
为什么要同步?
当多个线程执行一个类的时候 当线程抢到cpu执行 还没运行完 就被其他线程抢走了 这样多个线程对一个类的时候 数据会不统一 所以多个线程必须同步 使用synchronized
同步方式(1)
同步代码块:(把当前线程执行后 才可以解锁 执行其他线程)
Synchronized(临界资源对象){ //对临界资源对象加锁
//代码(原子操作)
}
public class MyThread1 implements Runnable{
@Override
public void run() {
synchronized (this){
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
}
# 最后
现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。
所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。
![](https://img-blog.csdnimg.cn/img_convert/7c8398b971c3101b2ee9206e5417f97a.webp?x-oss-process=image/format,png)
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618154847)**
的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。
[外链图片转存中...(img-5ibvgObi-1714913372481)]
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618154847)**