有个关于线程的疑问
有个关于线程的疑问,请教大家delphi程序,unit1作为主窗体,用于程序的主要操作;我在unit中用delphi的类TThr
有个关于线程的疑问,请教大家
delphi程序,unit1作为主窗体,用于程序的主要操作;我在unit中用delphi的类TThread开启了一个新线程dealThread,用于主要的数据处理,当然作为一个工程,程序中还有很多其他的窗体,用于完成各种功能;那么我想问的是,假如我在线程dealThread中调用了unit1中的函数以及工程中其他窗体中的函数的话,会出现线程同步的问题?
其实我是对delphi程序的执行过程不是太了解,主线程是如何执行的?是不是工程中的所有窗体都是属于程序的主线程?
[解决办法]
[解决办法]多线程同步——这是编程设计思想,并不与某个具体的语言必然联系,其方法大都类似,临界区、互斥、信号量……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