我使用 C 和 C++ 在 Ubuntu 18.04 上开发和调试一些程序。在某些时候我的多线程程序崩溃了。在 gdb 中我还看到:
Thread 0x7fffc57fa700 (LWP 31671) exited]
Run Code Online (Sandbox Code Playgroud)
0x7fffc57fa700 和 LWP 31671 是什么意思?我想这就像线程ID之类的东西。我需要用 C 代码来获取它。但是当我尝试时std::this_thread::get_id()它返回 int 值,而不是 0x7fffc57fa700。
我使用 TYPO3 版本 8.7.10。我试图在复制内容时删除“复制 1”文本。
我试过了:
TCEMAIN.table.pages {
disablePrependAtCopy = 1
disableHideAtCopy = 1
}
TCEMAIN.table.tt_content {
disablePrependAtCopy = 1
disableHideAtCopy = 1
}
Run Code Online (Sandbox Code Playgroud)
不成功
我在 python 上使用 sshtunnel 模块中的 SSHTunnelForwarder 。
给出下一个代码:
server = SSHTunnelForwarder(
(sshServer, sshPort),
ssh_username=sshUsername,
ssh_password=sshPassword,
remote_bind_address=(imapServer, imapPort),
local_bind_address=('127.0.0.1', localPort)
)
print('STARTING')
server.start()
print(server.is_active)
Run Code Online (Sandbox Code Playgroud)
有时需要很长时间,也许几分钟,然后我会收到错误:
2019-04-22 22:25:54,365| ERROR | Could not connect to gateway ip..... : 110
Traceback (most recent call last):
File "PYTHON_TUNNEL.py", line 24, in <module>
server.start()
File "/home/mike/.local/lib/python2.7/site-packages/sshtunnel.py", line 1295, in start
reason='Could not establish session to SSH gateway')
File "/home/mike/.local/lib/python2.7/site-packages/sshtunnel.py", line 1101, in _raise
raise exception(reason)
sshtunnel.BaseSSHTunnelForwarderError: Could not establish session to SSH gateway
Run Code Online (Sandbox Code Playgroud)
Ubuntu 18.04、Python 2.7 …
如何从该模型删除文件和文件引用?我的意思是控制器中的代码。据我所知,没有删除文件的方法。
根据TCA:
'backgroundimage' => array(
'label' => 'LLL:EXT:feusersplus/Resources/Private/Language/locallang_db.xlf:tx_feusersplus_domain_model_user.backgroundimage',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'image', array(
'appearance' => array(
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
),
'maxitems' => 1,
'foreign_match_fields' => array(
'fieldname' => 'backgroundimage',
'tablenames' => 'fe_users',
'table_local' => 'sys_file',
),
'foreign_types' => array(
'0' => array(
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
),
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => array(
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
),
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => array(
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
),
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => array(
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
),
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => array(
'showitem' => …Run Code Online (Sandbox Code Playgroud) 我正在构建将创建大量线程的应用程序。每个线程将连接到不同的远程服务器,并且每个线程必须始终与其服务器通信。
在我使用之前PHP,对于这样的目标来说,这是一个糟糕的解决方案。我认为本机线程如何工作:例如,我们在单核上有 100 个线程。核心将在所有线程之间分配它的工作时间。
从我阅读和理解的内容来看:
如果我打开很多goroutines,一个goroutine可以阻止其他人的执行goroutines。在特定情况下(可能在当前goroutine睡眠或类似情况下)执行将传递给其他人。但它不像本地线程那样工作。
我需要让所有线程都能流畅地执行。就像每个goroutine. 我不需要一些goroutine被执行很长时间而其他人会等待..
我可以实现它golang吗?或者更好地使用另一种语言(哪一种)?
我有一个可以打开很多例程的应用程序。假设有 2000 个例程。每个例程都需要访问数据库,或者至少需要从数据库更新/选择数据。
我目前的方法如下:
例程获取*gorm.DB,db.GetConnection()这是该函数的代码:
func GetConnection() *gorm.DB {
DBConfig := config.GetConfig().DB
db, err := gorm.Open("mysql", DBConfig.DBUser+":"+DBConfig.DBPassword+"@/"+DBConfig.DBName+"?charset=utf8mb4")
if err != nil {
panic(err.Error())
}
return db
}
Run Code Online (Sandbox Code Playgroud)
然后例程从某个存储包调用另一个函数并传递*gorm.DB给函数并关闭连接,它看起来像这样:
dbConnection := db.GetConnection()
postStorage.UpdateSomething(dbConnection)
db.CloseConnection(dbConnection)
Run Code Online (Sandbox Code Playgroud)
上面只是示例,主要思想是每个例程都会打开新连接,我不喜欢它。因为它可能会使数据库过载。结果我得到了下一个 MySQL 错误:
[mysql] 2020/07/16 19:34:26 packets.go:37: read tcp 127.0.0.1:44170->127.0.0.1:3306: read: connection reset by peer
Run Code Online (Sandbox Code Playgroud)
问题是关于如何gorm在多例程应用程序中使用包的好模式?
在屏幕截图上,您可以看到我拥有的信息。我需要获取此文件的 url 和路径。这是一个视频。我使用 TYPO3 7.6.16
这个简单的问题让我很困惑。
来自外部包的一些函数返回 *string
如何在返回中找到子字符串*string?
已知的去功能strings.Index和Contains需要string类型,而不是指针。