qt,多线程

本文介绍了在Qt中实现多线程的一种方法,强调了如何在主线程中启动子线程,并详细阐述了如何改造成员函数以适应多线程环境。通过示例展示了将原本的函数改为信号和槽的模式,以确保线程安全执行。
摘要由CSDN通过智能技术生成

前言:想必大家使用qt的主要原因也是容易寫界面吧,但是界面和遠程通訊,就必然會用到多綫程,這裏是qt中的一種多綫程用法,實測多次可用:
多綫程
以下,説明詳細步驟,如果不懂的,歡迎提問:
1 主綫程中的代碼:隨便要在哪裏開闢子綫程都可以這麽調用,只是要考慮何時關閉該綫程

	QThread thread_client;
    TcpClient client;
    client.moveToThread(&thread_client);
    thread_client.start();
    client.ConServer(hostname,port);

2 這一步比較複雜,是client類中的所有要多綫程的成員函數,都需要變化的書寫方式:
原来的func: func(){do something};
eg: ConServer(){ connect to server;}
//关键来了
client類中需要多綫程的func全部定义成另一种模式:
现在的func: func(){emit sig_func()}; slot_func(do something;);
eg:

.h:
public:
	explicit TcpClient();
	bool ConS
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值