线程池 柔情只为你懂 2022-07-26 11:19 2阅读 0赞 今天 按照老师的要求写了一下线程池 对多线程 的理解 又加深了一步 只要运用了 几个函数 InterlockedIncrement(&pThis->\_ThreadNum);//线程互斥加1 计数 对线程的 数量监控 InterlockedDecrement(&pThis->\_ThreadNum);//减1 InterlockedIncrement(&pThis->\_RunThreadNum);//加1 InterlockedDecrement(&pThis->\_RunThreadNum);//减1 //对线程 执行 监控 外加 自己写了一个线程锁的类 建立 俩个 工作单位 一个是数据 锁 一个单纯的执行锁 当然 这些好不够 需要 加入3个信号 开始执行 信号 和 结束 信号 和关闭信号 开始信号 给入后 执行 线程 结束信号 给入后 停止执行线程 关闭信号给入 退出所有执行 信号函数 handle =createEvent(0,false,false,0); 第一个参数课不看 第2个参数为 false 自动 true 为手动 ResetEvent();//进行重置否则一直处于当前状态 false 为 setEvent 设置信号 第3参数 表示为是否有信号 后面参数课不看 在加入 等待函数 降低CPU 耗损 waitForMultipleObject(); 信号数组count 信号指针 是否 false 一单有信号就给出线程 工作 true 为所有线程通知 4 为等待时间 返回值 WAIT\_OBJECT\_0 成功了 WAIT\_OBJECT\_0+1表示 数组下标1 返回值是WAIT\_OBJECT\_0与(WAIT\_OBJECT\_0 + dwCount-1)之间的一个值。换句话说,如果返回值不是WAIT\_TIMEOUT,也不是WAIT\_FAILED,那么应该从返回值中减去WAIT\_OBJECT\_0 分析到这 做线程池不难了 这里需要加俩个list stl 已经帮我做好了 且stl 初始化本身就是会自动申请一片内存池 此时我们只要将 动态的申请一个执行的结构 内存 当执行这个点完成时 将此时这个list点 移到第2个list 第一个 ease(it)就是了 如果又有信号进来了 此时 第一个为空 第2个不为空 讲第2个的内存get第一个 第2个 ease(it) 如果 又有信号来了第2个为空 那么 第一个 申请内存 当第一个list 有一个信号 执行完毕后 讲内存给第2个list 就这样来回倒动 竟可能的 不重复dele new 这样会造成 内存碎片 切系统容易崩溃 做不到长久 以上几点做好 理论上就完成了一个 完美的 池 面 作为服务器 基本够用 轻松加愉快
相关 Java 线程池、Runnable线程池、Callable线程池 线程池: 其实就是一个容纳多个线程的容器,其中的线程可以反复的使用,省去了频繁创建和销毁过程对象的操作,无需反复创建线程面消耗过多资源。 为什么要用线程池: 合理 青旅半醒/ 2023年02月26日 12:30/ 0 赞/ 53 阅读
相关 线程、线程池 创建线程的3种方法: package com.frank.threadPool.createThread; / @author 小石潭记 布满荆棘的人生/ 2022年10月22日 04:27/ 0 赞/ 387 阅读
相关 线程池 1.所谓线程池,就是程序的初始化阶段,就预先创建一批线程,每个线程都做好准备干活; 2.然后有一个任务列表,一开始为空,当有任务来了,就往任务列表里面添加;这个任务列表 痛定思痛。/ 2022年06月13日 13:22/ 0 赞/ 330 阅读
相关 线程池 西施越溪女,明艳光云海 最近用线程池和不用线程池做了个速度的测试,在这里备注下: 结果是速度不相上下; public static void main(Str 妖狐艹你老母/ 2022年05月20日 02:35/ 0 赞/ 284 阅读
相关 线程池 线程池 Java里面线程池的顶级接口是 java.util.concurrent.Executor , 但是严格意义上讲 Executor并不是一个线程池,而只是一个 迈不过友情╰/ 2022年03月06日 14:34/ 0 赞/ 402 阅读
相关 线程池 线程池 > 从字面义上来讲,是指管理一组同构工作线程的资源池。线程池是与工作队列密切相关的,其中在工作队列中(Worker Queue)保存了所有等待执行的任务。工作者( 清疚/ 2021年12月11日 03:35/ 0 赞/ 389 阅读
相关 线程池 可preStart一个或全部core thread 0,小于core则来一个任务建一个线程(firstTask),队列,额外线程,拒绝 一个AtomicInteger的 今天药忘吃喽~/ 2021年11月23日 03:40/ 0 赞/ 412 阅读
相关 线程池 1、先创建线程池 import java.util.concurrent.ArrayBlockingQueue; import java.util.concu 拼搏现实的明天。/ 2021年11月09日 14:28/ 0 赞/ 422 阅读
还没有评论,来说两句吧...