如何建立独立的线程,急!

问题描述

要写一个多线程的程序,每个线程的工作内容是相同的,只是线程开始的时间不同,但同一时间可能有多个线程在运作,目前的情况是参数共享了,导致事件日志很混乱。不知道该怎么样处理,使得每个线程都是独立的,参数不会在不同的线程中相互传递。还请高手指点,谢谢!

解决方案

解决方案二:
囧,我见过的大多数多线程问题都是问如何通信,还是第一次看到不通信的你不用全局变量,这样他们就不能共用一个对象来导致数据错乱了,你让每个线程都有自己的调用对象就行了
解决方案三:
你写日志的时候lock来进行同步
解决方案四:
...目前的情况是参数共享了,导致事件日志很混乱...参数共享本身并没错,日志可以利用线程ID来区分。publicclassMySimpleLog{staticstrings_logfile=@"c:tempmy.log";staticobjects_Lock=newobject();publicstaticvoidWriteInfo(stringmsg){Write(msg,"I");}publicstaticvoidWriteDebug(stringmsg){Write(msg,"D");}publicstaticvoidWriteError(stringmsg){Write(msg,"E");}staticvoidWrite(stringmsg,stringcatagory){lock(s_Lock){intid=System.Threading.Thread.CurrentThread.ManagedThreadId;//<-----System.IO.File.AppendAllText(s_logfile,string.Format("[{0}{1,3}{2}]{3}{4}",DateTime.Now.ToString("HH:MM:ss"),id,catagory,msg,Environment.NewLine));}}}publicclassUTest{staticvoidMain(){MySimpleLog.WriteInfo("Programstarted");}}

解决方案五:
支持楼上的

时间: 2024-11-05 20:33:49

如何建立独立的线程,急!的相关文章

如何建立独立的网页程序?

问题描述 如何建立独立的网页程序? 我想建立一个网页安装程序,安装在桌面后,打开软件其实就是一个浏览器,但是这个浏览器只能打开一个限定的网页,其他的网页打不开,这个该用什么软件开发好?(这个程序有点类似谷歌浏览器的,创建桌面快捷应用功能,打开后也只有一个页面,因为不太想依赖谷歌浏览器所以才想自己开发的)我听朋友介绍用了visual basic 6.0制作了,但是制作出来的网页显示不全,如何设置浏览器中平铺或者拉伸网页,让网页全屏显示?希望了解或者做过程序的朋友帮帮忙,感激不尽! VB代码: Pr

ASP.NET 3.5怎么建立独立的.css文件

问题描述 ASP.NET3.5怎么建立独立的.css文件?有什么比较好的建议?最好附上代码或截屏,新手`````` 解决方案 解决方案二:在项目上点击右键,选择添加->新建项目.选择:样式表.解决方案三:新建->文件->样式表解决方案四:"网站"菜单,添加新项,选择"样式表".

明明只建立了一个线程类,为何进行时这么卡,而且没有转头效果

问题描述 明明只建立了一个线程类,为何进行时这么卡,而且没有转头效果 这是GameUtil里的 public static void addFishes(ArrayList<Fish> Fishes){ int count=rand.nextInt(6)+5; for(int i=0;i<count;i++){ Fish f=new Fish(); f.setState(State_Swin); f.setLevel(rand.nextInt(11)+1); f.setDrawCount

Thread建立的后台线程是利用线程池来实现的吗?

问题描述 1.异步委托是使用线程池来使用的.2.线程池里的都是后台线程.3.Thread可以建立前台线程和后台线程.问题:是否和异步委托一样,Thread建立的后台线程是利用线程池来实现的吗?如何验证结论? 解决方案 解决方案二:后台线程和线程池没有关系解决方案三:首先,创建和销毁线程是一个要耗费大量时间的过程,另外,太多的线程也会浪费内存资源,所以通过Thread类来创建过多的线程反而有损于性能,为了改善这样的问题,.net中就引入了线程池.线程池形象的表示就是存放应用程序中使用的线程的一个集

急 终止线程-急! 终止线程不知道怎么回事

问题描述 急! 终止线程不知道怎么回事 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 错误提示页面 <table cellSpacing="0" cellPadding="0" width="102%" border="0"> <tr> <td width="25"

浅谈网络营销推广人员建立独立博客的好处

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 做网络推广,特别是搞seo的大部分都有个人独立博客,但真正做的比较好的却不多,不是做不好,而且建博客的目的没明确,像站长们所熟悉的月光博客和卢松松博客,无论知名度还是盈利方面都算是圈内做的比较好的了,下面就由我这个菜鸟李良为大家分析一下建立独立博客的目的和好处! 1.利用博客做关键词排名试手 对于seo新手来说,资料看的再多,培训学习的再多,

SEO新手要建立个人独立博客五个原因

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 SEO新手最好的学习方法就是实践,而随着几大门户BSP对搜索引擎采取了屏蔽手段,建立个人的独立博客成了SEO新手比较好的选择,下面就由我这个SEO新手简单分析一下建立个人独立博客的几个原因. 我从事网络推广工作有大半年的时间了,在网络推广的学习和实践过程中遇到过不少问题以及自己的一些心得,一直想有一个平台可以记录自己的工作感悟以及知识的学习交

j2me进度条与线程化模型

j2me进度条与线程化模型作者:FavoYang Email:favoyang@yahoo.com 欢迎交流 Keyworld:线程化模型 j2me UI设计 内容提要: 本文研究如何建立一个方便使用的线程化模型,这个线程化模型由前台的进度条UI 和后台的背景线程组成. 版权声明: 本文同时发表在www.j2medev.com和我的Blog(blog.csdn.net/alikeboy)上,如果需要转载,有三个途径:1)联系我并经我同意:2)和www.j2medev.com有转载文章合作协议的

关于线程的参数和返回值的问题

给一个过程建立一个新的线程是一个简单的问题,但是还是有一些重要的问题需要强调一下,例如当运行一个新的线程的时候,用AddressOf操作运行的方法或过程并没有注释和参数,而且不能返回值,为了解决这个问题,下面有几种比较简单的方法,可以给线程设定一些参数,并且从一些独立的线程的过程中返回值. 1.为新建立的线程设置参数 因为在建立一个新的线程类的时候,只使用了一个AddressOf操作,这样就不能给一个即将要独立运行的线程设置一些具有标示性的议论. 一个给线程设置参数的方法就是使用全局变量,采用这