首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

有个关于线程的疑问

2012-07-29 
有个关于线程的疑问,请教大家delphi程序,unit1作为主窗体,用于程序的主要操作;我在unit中用delphi的类TThr

有个关于线程的疑问,请教大家
delphi程序,unit1作为主窗体,用于程序的主要操作;我在unit中用delphi的类TThread开启了一个新线程dealThread,用于主要的数据处理,当然作为一个工程,程序中还有很多其他的窗体,用于完成各种功能;那么我想问的是,假如我在线程dealThread中调用了unit1中的函数以及工程中其他窗体中的函数的话,会出现线程同步的问题?
  其实我是对delphi程序的执行过程不是太了解,主线程是如何执行的?是不是工程中的所有窗体都是属于程序的主线程?


[解决办法]

引用
假如我在线程dealThread中调用了unit1中的函数以及工程中其他窗体中的函数的话,会出现线程同步的问题?

[解决办法]
多线程同步——这是编程设计思想,并不与某个具体的语言必然联系,其方法大都类似,临界区、互斥、信号量……Delphi也都有这些技术,只是封装模式与使用方法稍有不同,你针对性的学习一下就行了。特别的是在Delphi中如果非主线程要去操作主线程界面上的东西,需要特别注意同步处理,当然Delphi的TThread类都已经把方法封闭好了,学会调用就行。

可以参考:
http://blog.csdn.net/adamrao/article/details/7450945
http://www.cnblogs.com/cardon/archive/2010/03/10/1682130.html
[解决办法]
在线程dealThread中调用了unit1中的函数以及工程中其他窗体中的函数,
只要它们没有操作界面,是没问题的
[解决办法]
要看函数中做了什么了
比如函数中改变了一个变量的值,而线程中又要用到这个变量,那么就需要同步
[解决办法]
这个要情况了,楼主可以看看万一的博客,挺详细的线程知识

http://www.cnblogs.com/del/category/174761.html

热点排行