(1)在c++下如何实现线程间同步和通讯,最好有例子?
(2)c支持多线程吗?
(3)linux下有dll的概念吗?
(4)我在vc下写了一个多线程程序,但我希望在退出时,处理线程关闭的的一些代码,不知道如何获得线程退出的操作权??
新手,问题有点多
随便说点:
线程是操作系统相关的, 不关C的事。
就是说, 由操作系统提供线程管理函数,
不同的系统函数可能不同。 但肯定都会提供C接口。
一般来说, 除了个别功能只能用汇编外, 没听说过C语言不能做的事。
最多是基于开发效率的考虑选用其它语言。
线程的同步可以用:信号量,互斥,临界区,系统提供语言的API库,用于编程调用.
线程的通信可以用:消息队列,管道,tcp/ip,共享内存.可以自己实现,也有系统的API.
linux下可实现.so文件,shared object,相当于dll.
线程退出的操作权?不是很明白!
设个全局的标志,进程结束前设置它,其他线程择点读取,在线程内部ExitThread自杀
如果你不想用系统的多线程API,建议你去看ACE的源代码,它有用C++实现的很好的多线程库和管理机制。