java 多任务

2023-12-16 14:08:12

什么是进程

跑起来的程序是进程
进程是资源分配的单位
进程号比皇家的宫殿

什么是线程

线程是多任务执行的单位
所有的任务都是线程执行的

进程与线程的关系

进程提供资源
线程提供劳动力

线程与线程的关系

线程与线程是竞争关系
线程与线程会互相竞争cpu的使用权限
同一进程中的线程是可以共享全局变量的

cpu与进程的关系

cpu会轮循访问各个进程
被cpu访问的进程就可以正常运行
当进程的任务时间超出cpu等待时间时,cpu会暂时离开
当进度的任务时间低于cpu等待时间时,cpu会提前离开

进程与进程的关系

进程与进程间各自独占的空间
进程间的数据不可互相访问

如何使用自定义线程类

创造一个普通类
让这个普通类继承Thread类
重写run方法
在run方法中编写这个线程要做的事情
在测试类中实例化线程对象
线程对象.start()

如何设置线程对象的名字

线程对象.setNme(名称)

如何获取线程对象的名族

线程对象.getName()

如何让自定义线程构造时可起名字

自定义线程定义带参构造方法,接收一个字符串作为线程名称
把收到的字符串数据传递给父类构造方法
构造自定义线程的时候通过new自定义线程类名(线程名)

使用Runnable接口来定义线程

定义普通类 实现Runnable接口
重写run方法,编写要做的事情
在测试类中实例化普通类,得到规则对象
在测试类中实例化线程对象 把规则对象作为参数传递
在测试类中让线程对象启动,调用start方法

如何在一个普通类中获得当前线程

Thread t =Thread.currentThread();

如何在一个普通类中获得当前线程

Thread t=Thread.currentThread();

如何使用线程休眠让时间停止5秒钟

Thread.sleep(5000);

如何使用线程礼让 放弃cpu的使用时间片

Thread.yield()
yield()

如何让线程对象阻塞主线程的执行

线程对象.join()
线程对象的任务不执行完成,主线程就会卡在这里

如何设置线程对象的优先级

线程对象.setPriority(优先级值)
优先级取值1-10
优先级默认值是5

如何将线程对象设置为守护线程

线程对象.setDaemon(true);
守护线程的功能是当主线程结束时,守护线程也结束

如何通过同步代码块为敏感操作上锁

synchronized(锁){敏感操作}
每敏感操作就是容易出现数据错误的地方
锁需要是引用类型的对象
敏感操作—般是容易出错的地方

文章来源:https://blog.csdn.net/xh19571307117/article/details/135010354
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。