游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

首页   >   博客   >   18803836360

自己join 热度 1

个人分类: 小点 | 2017-9-29 11:02
1 个评论 | 阅读 504 | 收藏 | 举报
后台线程+join,主函数中加入了join时,main函数要等后台线程结束,餐开始执行其他线程

前台线程中的后台线程+jion;那么先让join的后台线程,或者其他执行,当前线程或者函数,等待



thread t =new thread(new parameterrizedThreadStart(func));
t.start(object参数);       此时start有两个重载函数

线程池:调用队列使用方法添加任务,自动提取任务(queneuserworkitem)   默认后台线程
threadPool 线程池,静态方法,  队列三个重载的方法,(委托就是方法)

线程池里边是后台线程,如果主函数内容少,那么后台线程可能执行不到,所以需要休眠几秒中,以保证后台线程的执行

线程同步技术(先前者线程,后后者线程)
同一个时间只能有一个任务访问共享的资源
monitor.enter(object类型的参数)
try(开始监视)
finally(退出监视)  其他线程对上锁判断,上锁则等待,不上锁那么就上锁执行

当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待。但当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进行读写的时候,我们要使该资源在同一时刻只能被一个线程操作,以确保每个操作都是有效即时的,也即保证其操作的原子性。lock是C#中最常用的同步方式,格式为lock(objectA){codeB} 。

0 0

评论 (1 个评论)

回复 Winson_G 2017-10-3 14:04
阔以

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册帐号

个人分类

标签

阅读排行

评论排行

推荐博客

最新博客

返回顶部