GTK中创建线程函数g_thread_new和g_thread_create的区别

使用GThread函数,需要引用glib.h头文件。

这两个接口的核心区别就是  g_thread_create 是旧的接口,现在已经不使用了,而g_thread_new是新的接口,建议使用。

g_thread_create:

g_thread_create has been deprecated since version 2.32 and should not be used in newly-


written code. Use g_thread_new()instead


g_thread_new:

GThread *           g_thread_new                        (const gchar *name,
                                                         GThreadFunc func,
                                                         gpointer data);

g_thread_new三个参数,第一个参数只是标示线程用的,主要在调试的时候可以看到这个name,不影响实际执行效果。

第二个参数func就是线程执行的函数,第三个参数其实是第二个参数func函数的参数。

真正的线程执行时是这样调用的 func(data)


如: 


     Gthread* p_thread;

 p_thread = g_thread_new("Unused String", func, data);
 void* func(void* data)
{

}

阅读更多
文章标签: 线程 函数 gtk
个人分类: c++
上一篇TCP协议中的三次握手和四次挥手(图解)
下一篇Linux下获取线程TID的方法——gettid() 获取进程 getpid()
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭