java多线程教程求教,解决办法

2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
2017年2月 总版技术专家分月排行榜第三
2018年1月 .NET技术大版内专家分月排行榜第一2017年5月 .NET技术大版内专家分月排行榜第一2017年4月 .NET技术大版内专家分月排行榜第一2017年3月 .NET技术大版内专家分月排行榜第一2017年2月 .NET技术大版内专家分月排行榜第一2016年10月 .NET技术大版内专家分月排行榜第一2016年8月 .NET技术大版内专家分月排行榜第一2016年7月 .NET技术大版内专家分月排行榜第一
2013年1月 移动平台大版内专家分月排行榜第二2012年12月 移动平台大版内专家分月排行榜第二
2014年1月 移动开发大版内专家分月排行榜第三2013年4月 移动平台大版内专家分月排行榜第三2013年3月 移动平台大版内专家分月排行榜第三2012年6月 移动平台大版内专家分月排行榜第三
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
匿名用户不能发表回复!|求教大家一个多线程的问题,大神请进【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:687,938贴子:
求教大家一个多线程的问题,大神请进收藏
class Info {
public String getName() {
public void setName(String name) {
this.name =
public int getAge() {
public void setAge(int age) {
this.age =
private String name = &Rollen&;
private int age = 20; }
class Producer implements Runnable{
private Info info=
Producer(Info info){
this.info=
public void run(){
boolean flag=
for(int i=0;i&25;++i){
this.info.setName(&Rollen&);
Thread.sleep(100);
}catch (Exception e) {
e.printStackTrace();
this.info.setAge(20);
flag= //为什么这儿用false
this.info.setName(&chunGe&);
Thread.sleep(100);
}catch (Exception e) {
e.printStackTrace();
this.info.setAge(100);
flag= //这又为真
} } class Consumer implements Runnable{
private Info info=
public Consumer(Info info){
this.info=
public void run(){
for(int i=0;i&25;++i){
Thread.sleep(100);
}catch (Exception e) {
e.printStackTrace();
System.out.println(this.info.getName()+&&----&&+this.info.getAge());
class hello123{
public static void main(String[] args) {
Info info=new Info();
Producer pro=new Producer(info);
Consumer con=new Consumer(info);
new Thread(pro).start();
new Thread(con).start();
51CTO学院12年行业品牌,1600万用户选择,中国专业IT技能学习平台,入门java.通过在线学习的方式,帮助广大技术人员实现技能提升,高薪就业的职业梦想,入门java.
求大家帮我解决这个问题,问题内容就是注释的那两句话
登录百度帐号推荐应用查看: 1045|回复: 6
求个多线程的例子,稳定不崩溃的,具体看下要求
阅读权限140
结帖率: (6/6)
现在能不能用无所谓,需要用到线程许可证或者用线程池的
主要是处理自动登录或者设置代理IP,各线程之前调用不冲突.
.支持库 EThread
.程序集 窗口程序集1
.程序集变量 许可证, 整数型
.子程序 __启动窗口_创建完毕
许可证 = 创建进入许可证 ()
.子程序 __启动窗口_将被销毁
删除进入许可证 (许可证)
.子程序 _按钮1_被单击
启动线程 (&线程处理数据, , )
.子程序 线程处理数据
进入许可区 (许可证)
' 此处处理数据
退出许可区 (许可证)
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至
可获得加分喔。友情提醒:本版被采纳的主题可在
帖子申请荣誉值,获得 1点 荣誉值,荣誉值可兑换终身vip用户组哦。快捷通道: →
阅读权限165
结帖率: (2/2)
&&窗口程序集名保 留&&保 留备 注窗口程序集1&&&变量名类 型数组备 注 许可证整数型&&__启动窗口_创建完毕&&许可证 = 创建进入许可证 ()__启动窗口_将被销毁&&删除进入许可证 (许可证)_按钮1_被单击&&启动线程 (&线程处理数据, , )线程处理数据&&进入许可区 (许可证) ' 此处处理数据退出许可区 (许可证)EThread多线程支持库
.版本 2
.支持库 EThread
.程序集 窗口程序集1
.程序集变量 许可证, 整数型
.子程序 __启动窗口_创建完毕
许可证 = 创建进入许可证 ()
.子程序 __启动窗口_将被销毁
删除进入许可证 (许可证)
.子程序 _按钮1_被单击
启动线程 (&线程处理数据, , )
.子程序 线程处理数据
进入许可区 (许可证)
' 此处处理数据
退出许可区 (许可证)
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!
您可以选择打赏方式支持他
阅读权限50
结帖率: (1/1)
IOCP线程池+临界区& &具体代码百度一搜一堆,实在不会的话就找个好模块吧。
您可以选择打赏方式支持他
阅读权限90
结帖率: (8/12)
论坛有一个并行线程的方法,待会我看看发上来,或者你先查一下,然后需要修改的是用内存传数据,而不用子程序指针,这个好一点
您可以选择打赏方式支持他
阅读权限90
签到天数: 10 天
用线程池吧,只要不是读写全局数据,就不用加互斥
您可以选择打赏方式支持他
阅读权限90
签到天数: 10 天
IOCP线程池+临界区
您可以选择打赏方式支持他
阅读权限90
结帖率: (49/57)
用大鸟的线程池支持库吧,这个很稳定! 只有一个缺点,销毁线程池的时候会崩溃。
您可以选择打赏方式支持他
精易论坛 - 有你更精彩 /1
免费参加 特训
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,QQ: ,邮箱:@b.qq.com
Powered by
粤公网安备 25新手多线程问题求教! _ 按键精灵手机版 - 按键精灵论坛
腾讯微博:
软件版本:2014.05软件大小:21.6M更新时间:07-04
软件版本:3.2.9软件大小:62.5M更新时间:12-07
软件版本:1.3.1软件大小:29.2M更新时间:09-29
软件版本:1.1.0软件大小:12.3M更新时间:12-29
查看: 500|回复: 4
这个教程帖子中的多线程(检测卡住)代码粘贴到按键精灵中,我定义了一个新的子程序:Function 子程序1 (96.32 K) 20:52:09然后我定义了一个 Function 子程序2 用来执行脚本功能我运行的时候Call 子程序1()Call 子程序2()就会卡在子程序1,子程序2无法运行有没有大神教一教该如何解决啊
我调试发现,程序实在子程序1的这里循环着不出来了(10.78 K) 20:53:26
兄弟工程师13
剑侠勋章剑侠世界公测活动勋章按键15周年庆纪念勋章按键15周年庆纪念勋章(365天)过大年勋章俩小福娃给大家拜年啦!猴年勋章猴年专属“大圣”勋章双十一绝版纪念勋章双十一绝版纪念勋章抗战胜利70周年勋章抗战胜利70周年活动的专属勋章天使勋章天使一样的用户按键精灵开发者1级可通过提升认证等级来升级勋章:rz.anjian.com兔年勋章(360天)兔年纪念勋章(360天)论坛GG按键论坛男性用户勋章小红帽对论坛提出良好建议(可向管理员申请)
- - 这个是个死循环啊 退出的条件是卡死会直接结束脚本
这个一般用于全局检测,因为主线程如果不加入一个死循环 主线程的结束会让子线程也停止的
回复 大神你好 那请问怎么把检测卡死这个功能写进个子程序中呢,而且在线程中也没有办法使用退出命令和Goto跳出去,1.多线程的安全隐患1.1&一块资源可能被多个线程共享,也就是多个线程可能会访问同一块资源,如多个线程访问同一个对象,变量,文件等当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题1.2&安全隐患示意图:1.3&安全隐患的解决办法:互拆锁1.4&互斥锁的使用格式@synchronized(锁对象){
  //需要锁定的代码
}注意:锁定1份代码只用1把锁,用多把锁是无效的例如:- (void)saleTicket{&&& while (1) {&&&&&&& @synchronized(self) { // 加锁(只能用一把锁)&&&&&&&&&&& // 1.先检查票数&&&&&&&&&&& int count = self.leftTicketsC&&&&&&&&&&& if (count & 0) {&&&&&&&&&&&&&&& // 2.票数 - 1&&&&&&&&&&&&&&& self.leftTicketsCount = count - 1;&&&&&&&&&&&&&& &&&&&&&&&&&&&&&& NSThread *current = [NSThread currentThread];&&&&&&&&&&&&&&& NSLog(@"%@ 卖了一张票, 剩余%d张票", current.name, self.leftTicketsCount);&&&&&&&&&&& } else {&&&&&&&&&&&&&&& // 退出线程&&&&&&&&&&&&&&& [NSThread exit];&&&&&&&&&&& }&&&&&&& } // 解锁&&& }}1.6&互斥锁的优缺点优点:能有效防止因多线程抢夺资源造成的数据安全问题缺点:需要消耗大量的CPU资源使用前提:多条线程抢夺同一块资源相关专业术语:线程同步线程同步的意思是:多条线程按顺序地执行任务互斥锁,就是使用了线程同步技术
阅读(...) 评论()}

我要回帖

更多关于 c 多线程教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信