建立和使用干活线程的几种方式
来源:互联网 发布:软件研发立项报告 编辑:程序博客网 时间:2024/05/22 13:33
一、建立干活线程
1、
2、建立干活线程和使用干活线程混合在一个Test1中:问题是一个对象有一些数据还没有初始化,而干活线程就提前执行了。
建立干活线程用Runnable,驱动线程作为类实例变量 t1,new Test1() ,启动干活线程
Test1 implements Runnable{ Thread t1=new Thread(this), public Test1() {t1.start()}}
3、
二、干活线程实现Runnable 的类(即Runnable对象)
使用干活线程,用Thread,也叫驱动线程,驱动干活线程干活。
但是有返回值得Test2线程必须用 ExecutorService的submit()方法提交,才能得到返回值。
1、 一个新驱动线程对应一个新干活线程,也可以多个新驱动线程对应对多个新干活线程。
Thread t2=new thread(new Test1)
Thread t3=new thread(new Test1)
一个对象对应一个monitor大楼,上面new Test1 三次,
有3个monitor大楼:t1.monitor 大楼,t2.monitor 大楼,:t3.monitor 大楼
2、二,三,多个新驱动线程对应一个新干活线程,反正一个新驱动线程需要干活线程。随便指定。
只有在这种情况下,多个驱动程序对应同一个对象,Synchronize 锁住对象才有意义,而且这样一个对象对应一个monitor,monitor才存在多个线程竞争特殊房间的问题。
例如:t1:看成是共享资源洗澡间,多个驱动线程t1_1,t1_2,t1_3都抢着进洗澡间,只有在这种情况下,当一个人(驱动线程t1_1)竞争到洗澡间,就去洗澡,上锁,释放锁,别人才能进去。
下面是只有一个t1.monitor 大楼
有两种情况:1》多个新驱动线程,对应一个新的干活线程
干活线程设置拥有共享数据,哪么只能建立一个新对象,供多个驱动线程去竞争共享数据。
2》多个新驱动线程,对应多个新干活线程,一个共享数据的对象。
三、干活线程继承thread。
使用干活线程,直接在构造器里 .sart 启动。
四、使用干活线程,用连接池,即线程thread对象由Executor管理。
- 建立和使用干活线程的几种方式
- 驱动线程和干活线程的关系
- 多线程NSThread的简单创建和使用——创建线程的几种方式
- 第四章 使用线程的几种方式
- 使用线程的几种方式(1) 流水线
- 使用线程的几种方式(2)工作组
- 使用线程的几种方式(三)客户/服务器
- Linux多进程和线程同步的几种方式
- android线程的几种方式和比较
- 线程退出的几种方式和资源回收
- 建立线程的两种方式:实现方式和继承方式
- 建立线程的2种方式
- java线程池(一) 简述线程池的几种使用方式
- 线程同步的几种方式
- 让线程休息的几种方式
- 线程同步几种方式的比较
- 线程同步的几种方式
- 线程同步的几种方式
- HTTP与HTTPS的区别
- gradle 排除jar包依赖
- 涂鸦-草稿:堆排序(2)
- Game Develope(二)
- c++11 多线程基础
- 建立和使用干活线程的几种方式
- ESP32环境搭建
- java中判断字符串真实长度(中文2个字符,英文1个字符)的方法
- 简单的分页方法page-taglib
- 安卓icon
- Makefile中命令前的@和-符号
- 20170605
- 最长递增子序列
- 20170606