当前位置:首页 » 编程语言 » java线程被中断

java线程被中断

发布时间: 2022-12-15 22:13:46

java线程哪些情况会中断

涉及到数据共享及数据的修改的情况下一般要考虑线程安全,比如有一个原始数据5,我在一个线程中要将这个数据加5,那么我就在这个线程中读取到这个数据然后加5得到10,然后再把10存入这个原始数据中,因为没有考虑线程安全,在我存入之前,有另一个线程修改了这个数据,把原始数据修改为0,然后之前的线程又才将10存入那个原始数据,那么此时这个原始数据就成为了10,然后因为之前有线程修改过,实际应该为5,这里只是数字,如果这个数字是钱呢?你的账户就会凭空多出钱来!还有很多种出错的情况,这里只是其中一种,所以在某些情况下必须要考虑线程安全性

② Java中如何中断线程

1: 给你的线程类一个标识符,然后在循环中对这个标志做判断,如果为false则跳出循环,自动结束线程(线程在run()里面执行完就自动关闭了),而你可以再线程外对这个标识符做控制。2: 对线程对象调用interrupt(),这样在run中使用sleep,wait等方法时自动抛出一个InterruptedException异常,在catch里面可以跳出循环。

③ Java线程中断机制是怎么回事

线程阻塞:一般通过下面方法实现
Sleep:睡眠 中间参数毫秒 自然醒 睡眠过程交出CPU控制权且一定不被执行 占有对象锁
Yield:终止 终止后交出CPU控制权 重新进入就绪状态,下一次有可能被再一次调用
Join:终止上一级线程 使当前线程运行完后再执行上一级线程
Wait:线程等待 必须放入synchronized块中 等待时,交出cpu控制权,释放对象锁,等待唤醒后重新拥有对象锁
Synchronized:加锁同步 逻辑错误下会导致死锁阻塞 一般有业务关联情况下的对象避免有锁中锁

热点内容
怎么把电脑锁上密码 发布:2024-05-20 05:19:09 浏览:982
安卓为什么连上wifi后没有网络 发布:2024-05-20 05:17:50 浏览:417
安卓usb在设置哪里 发布:2024-05-20 05:03:03 浏览:185
绥化编程 发布:2024-05-20 04:59:44 浏览:989
基本原理和从头计算法 发布:2024-05-20 04:50:32 浏览:28
配置情况指的是什么 发布:2024-05-20 04:48:14 浏览:495
那个程序用来编译源文件 发布:2024-05-20 04:46:45 浏览:549
小程序需要数据库吗 发布:2024-05-20 04:35:14 浏览:337
链接sqlserver 发布:2024-05-20 04:27:53 浏览:209
ftp文件服务器扩容 发布:2024-05-20 04:22:21 浏览:646